我的Jtable有一个listSelectionListener:
jTable1.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
System.out.println(jTable1.getValueAt(jTable1.getSelectedRow(), 0));
}
});
我创建了一个按钮来删除带有事件的Jtable的所有行:
for (int i =jTable1.getModel().getRowCount()-1; i >=0 ; i--) {
((DefaultTableModel)jTable1.getModel()).removeRow(i);
}
如果我在没有选择任何行的情况下按下按钮,则不会出现错误,但当我选择一行,然后按下按钮时,会出现以下错误:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
当表没有ListSseltionListener时,不会发生这种情况。我哪里错了?
提前感谢您的帮助。
当表没有ListSelectionListener时,不会发生这种情况
所以我猜删除表中所有行的代码会执行。删除行后,行选择必须更改,因为不再有任何行可供选择。
System.out.println(jTable1.getValueAt(jTable1.getSelectedRow(), 0));
然后执行上面的语句,getSelectedRow()方法返回-1,导致异常。尝试:
int selectedRow = jTable1.getSelectedRow();
System.out.println("Selected Row: " + selectedRow;
if (selectedRow != -1)
System.out.println(jTable1.getValueAt(selectedRow, 0));
你能试试这个吗?
DefaultTableModel dtm = (DefaultTableModel) jTable1.getModel();
dtm.setRowCount(0);
我不确定是什么导致了这个例外。
我有一个框架,里面有一张桌子和两个按钮。 1) 重复行2)删除行 表a在第三列中的组合 我有一个场景,我复制空白行并点击最后一排的组合框来选择该行,然后单击删除行按钮…然后在删除后,每当我尝试单击任何单元格时,它都会给我以下错误。 下面是相关框架的源代码。
我正在用java创建一个没有数据库的库系统程序。(直接使用文件)。 我在删除jtable中的一行时遇到了一个奇怪的问题(也就是从文件中删除)。 有时当我在表格中选择一行并单击删除按钮时,不止一行被删除了! 大多数时候它也能正常工作!! 我的代码: 我的模型类: 用户信息类别: 我的文本文件:
问题内容: 我需要删除JTable中的所有行。 我已经尝试了以下两种方法: 和 两者都不会删除所有行。有任何想法吗? 问题答案: 以下代码为我工作:
我正在使用ListSelectionListener从所选行更新我的JTextField(countryTxt)。 但是,当我选择一行并单击按钮时,它会弹出一个异常。当我没有在表格中选择一行并单击按钮时,一切正常。显然,我可以在未触发事件时删除一行。因此,我的问题是:如何在触发事件后删除一行。提前谢谢。
我想从java中的表中删除选定的行。该事件应在单击按钮时执行。如果有人帮助我,我会非常感激。。。 例如,有一个名为sub\U table的表,有3列,即sub\U id、sub\U name、class。当我从该表中选择一行并单击“删除”按钮时,应删除该特定行。。