对JTable
所选行的任何更改是否会触发添加的ListSelectionListener
两次,这是否正常?
ListSelectionListener
是否可以只触发一次?
答案 0 :(得分:25)
查看传递给侦听器的事件,特别是
ListSelectionEvent.getValueIsAdjusting()
当返回false时执行你想要做的任何操作。
答案 1 :(得分:3)
ListSelectionEvent.getValueIsAdjusting()
将按@MeBigFatGuy评论。
类似的例子:
if(!e.getValueIsAdjusting()){
String selectedData = null;
int selectedRow = table.getSelectedRow();
int selectedColumns = table.getSelectedColumn();
for (int i = 0; i <= selectedRow; i++) {
for (int j = 0; j <= selectedColumns; j++) {
selectedData = (String) table.getValueAt(selectedRow, selectedColumns);
}
}
System.out.println("Selected: " + selectedData);
}
它只会触发一次。