JTable java.lang.IndexOutOfBoundsException:无效范围
我想在空JTable java.lang.IndexOutOfBoundsException:无效范围,java,swing,jtable,Java,Swing,Jtable,我想在空JTable 这是我的密码: Object columnNamesPax[] = {"#","Name","Surname","Sex","Age","Class"}; Object[][] data = new Object[5][columnNamesPax.length]; JTable tablePax = new JTable(new DefaultTabl
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"});
控制台输出:
线程“AWT-EventQueue-0”6中出现异常
java.lang.IndexOutOfBoundsException:无效范围
如果列数为6,我不明白为什么会有IndexOutOfBoundsException。不是答案
上面的代码没有显示错误。例如,当我使用上面的代码创建my时,不会发生此类错误:
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));
}
});
}
}
你只是发布了不可编译和不可命名的代码片段,这并不是在剪切它,因为它们没有足够的信息让我们看到你的错误。此外,我们不希望看到您完整的代码库,从而被大量无关的代码淹没,因此再次由您创建并发布类似于我上面示例的您的(请同时查看我提供的链接),一个向我们展示您的问题的链接,希望这能让我们真正帮助你 你最好的办法就是给我们看你的代码。我们不想看到所有这些,但是你应该把你的代码压缩成最小的代码,它仍然可以编译,没有与你的问题无关的额外代码,但是仍然可以演示你的问题,换句话说,a(请查看链接)。你的代码上面没有显示错误。例如,当我使用上面的代码创建我的时,不会发生这样的错误:。所以,还是由你来创建和发布你的,这样我们才能真正帮助你。你接受了一个非答案,发生了什么?请解释您是否或如何解决您的问题。