在jtable中添加行时的ArrayIndexOutOfBoundsException

时间:2012-10-31 06:50:23

标签: java swing jtable defaulttablemodel indexoutofboundsexception

this.tModel = new AdvancedMibTableModel(); 
this.table = new JTable(this.tModel);
this.tModel.addRow(new Object[]{"sysLocation","1.3.6.1.2.1.1.6","0",""});

运行上面的代码时发生以下异常。

java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
at java.util.Vector.elementAt(Unknown Source)
at javax.swing.table.DefaultTableModel.justifyRows(Unknown Source)
at javax.swing.table.DefaultTableModel.insertRow(Unknown Source)
at javax.swing.table.DefaultTableModel.addRow(Unknown Source)
at javax.swing.table.DefaultTableModel.addRow(Unknown Source)
我在这里做错了什么?什么是实际问题? 有谁能建议解决方案? 我尝试了addRow()和insertRow()但发生了同样的问题。

2 个答案:

答案 0 :(得分:2)

异常非常清楚

at java.util.Vector.elementAt(Unknown Source)

v.s。

this.tModel.addRow(new Object[]{"sysLocation","1.3.6.1.2.1.1.6","0",""});

  • 必须创建Vector<Object>而非新Object[]

  • 在发布SSCCE

  • 后尽早获得更好的帮助

答案 1 :(得分:1)

您是否将列添加到模型?

如果没有,你应该避免这种例外。

您可以按如下方式向模型添加列:

TableColumn location = new TableColumn();
// ...
// set location fileds i.e. header etc.
// ...
this.tModel.addColumn(location);