为了账号安全,请及时绑定邮箱和手机立即绑定

为什么Jtable上有一个元素的ArrayIndexOutOfBoundsException错误

为什么Jtable上有一个元素的ArrayIndexOutOfBoundsException错误

慕慕森 2021-05-07 14:09:43
我想将jTable元素添加到列表中。当jTable具有一个以上元素时,它工作正常,但是当jTable具有一个元素时,它给我以下错误。为什么这样?如何解决。谢谢你。这是错误。错误:线程“ AWT-EventQueue-0”中的异常java.lang.ArrayIndexOutOfBoundsException:1> = 1这是代码: DefaultTableModel table_tags = (DefaultTableModel)this.jTable_selectedTags.getModel();  int rowCount=table_tags.getRowCount(); Vector data = table_tags.getDataVector(); Vector row = (Vector) data.elementAt(1); int mColIndex = 0; List tags_data = new ArrayList(rowCount); for (int i = 0; i < table_tags.getRowCount(); i++) {        row = (Vector) data.elementAt(i);        tags_data.add(row.get(mColIndex)); } System.out.println(tags_data);  
查看完整描述

2 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

问题在于索引的访问。所以,改变之后

Vector row = (Vector) data.elementAt(1);

Vector row = (Vector) data.elementAt(0);

工作正常。


查看完整回答
反对 回复 2021-05-19
?
弑天下

TA贡献1818条经验 获得超8个赞

您的for循环是错误的。您使用以下条件迭代表:

for (int i = 0; i < table_tags.getRowCount(); i++)

问题是您使用行数来执行迭代。给定Vector中仅一个元素,您的行数的确会增加1,但使用此元素对表进行迭代将导致它失败,因为表中的唯一元素的索引为0。将以上条件更改为:

for (int i = 0; i < table_tags.getRowCount() - 1; i++)

我想你会没事的。


查看完整回答
反对 回复 2021-05-19
  • 2 回答
  • 0 关注
  • 204 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信