JTable java.lang.IndexOutOfBoundsException: 无效范围
JTable java.lang.IndexOutOfBoundsException: Invalid range
我想在空行中添加一个新行JTable
这是我的代码:
Object columnNamesPax[] = {"#","Name","Surname","Sex","Age","Class"};
Object[][] data = new Object[5][columnNamesPax.length];
JTable tablePax = new JTable(new DefaultTableModel(data,columnNamesPax));
DefaultTableModel defaultModel = (DefaultTableModel) tablePax.getModel();
System.out.println(tablePax.getColumnCount());
defaultModel.addRow(new Object[]{"1","2","3","4","5","6"});
控制台输出:
Exception in thread "AWT-EventQueue-0" 6
java.lang.IndexOutOfBoundsException: Invalid range
我不明白为什么会有IndexOutOfBoundsException,如果列数是6。
没有答案
您上面的代码没有显示错误。比如我用上面的代码创建mymcve,就没有出现这样的错误:
import javax.swing.*;
import javax.swing.table.*;
public class Foo {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Object columnNamesPax[] = { "#", "Name", "Surname", "Sex",
"Age", "Class" };
Object[][] data = new Object[5][columnNamesPax.length];
JTable tablePax = new JTable(new DefaultTableModel(data,
columnNamesPax));
DefaultTableModel defaultModel = (DefaultTableModel) tablePax
.getModel();
System.out.println(tablePax.getColumnCount());
defaultModel.addRow(new Object[] { "1", "2", "3", "4", "5", "6" });
JOptionPane.showMessageDialog(null, new JScrollPane(tablePax));
}
});
}
}
您只是 posting 无法编译和无法运行的代码片段并没有削减它,因为它们没有包含足够的信息让我们看到您的错误。此外,我们不希望看到您的完整代码库,因此被大量不相关的代码淹没,因此 再次 由您来创建和 post 你的 Minimal, Complete, and Verifiable example 类似于我上面的例子(也请看我提供的link),一个这向我们展示了您的问题,这将有希望让我们真正帮助您。
我想在空行中添加一个新行JTable
这是我的代码:
Object columnNamesPax[] = {"#","Name","Surname","Sex","Age","Class"};
Object[][] data = new Object[5][columnNamesPax.length];
JTable tablePax = new JTable(new DefaultTableModel(data,columnNamesPax));
DefaultTableModel defaultModel = (DefaultTableModel) tablePax.getModel();
System.out.println(tablePax.getColumnCount());
defaultModel.addRow(new Object[]{"1","2","3","4","5","6"});
控制台输出:
Exception in thread "AWT-EventQueue-0" 6
java.lang.IndexOutOfBoundsException: Invalid range
我不明白为什么会有IndexOutOfBoundsException,如果列数是6。
没有答案
您上面的代码没有显示错误。比如我用上面的代码创建mymcve,就没有出现这样的错误:
import javax.swing.*;
import javax.swing.table.*;
public class Foo {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Object columnNamesPax[] = { "#", "Name", "Surname", "Sex",
"Age", "Class" };
Object[][] data = new Object[5][columnNamesPax.length];
JTable tablePax = new JTable(new DefaultTableModel(data,
columnNamesPax));
DefaultTableModel defaultModel = (DefaultTableModel) tablePax
.getModel();
System.out.println(tablePax.getColumnCount());
defaultModel.addRow(new Object[] { "1", "2", "3", "4", "5", "6" });
JOptionPane.showMessageDialog(null, new JScrollPane(tablePax));
}
});
}
}
您只是 posting 无法编译和无法运行的代码片段并没有削减它,因为它们没有包含足够的信息让我们看到您的错误。此外,我们不希望看到您的完整代码库,因此被大量不相关的代码淹没,因此 再次 由您来创建和 post 你的 Minimal, Complete, and Verifiable example 类似于我上面的例子(也请看我提供的link),一个这向我们展示了您的问题,这将有希望让我们真正帮助您。