gpt4 book ai didi

java - 为什么我无法删除 jtable 中的单元格

转载 作者:行者123 更新时间:2023-12-02 00:08:53 25 4
gpt4 key购买 nike

看我的方法

public void removeRow(int[] selectedRow) {
int len = selectedRow.length;
for(int i=0; i<len; i++) {
data.remove(selectedRow[i]);
}
fireTableDataChanged();
}

这是错误调用堆栈

线程“AWT-EventQueue-0”中出现异常 java.lang.IndexOutOfBoundsException:索引:1,大小:1 在 java.util.ArrayList.RangeCheck(ArrayList.java:547) 在 java.util.ArrayList.remove(ArrayList.java:387) 在表.MyTableModel.removeRow(MyTableModel.java:89) 在表.Tables$2.actionPerformed(Tables.java:61) 在javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) 在 javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) 在javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) 在 javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

我使用静态ArrayList数据作为数据持有者

最佳答案

问题是,当您删除一行时,每次删除都会调整/减少表索引,从而导致 IndexOutOfBoundsException。您可以按相反的顺序删除行以防止出现这种情况:

for (int i = selectedRow.length - 1; i >= 0; i--) {
data.removeRow(selectedRow[i]);
}

关于java - 为什么我无法删除 jtable 中的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13279897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com