为什么JTable总是触发ListSelectionListener两次?
2022-09-03 04:52:33
对所选行的任何更改都会触发添加两次,这正常吗?JTable
ListSelectionListener
有没有可能只触发一次?ListSelectionListener
对所选行的任何更改都会触发添加两次,这正常吗?JTable
ListSelectionListener
有没有可能只触发一次?ListSelectionListener
查看传递给侦听器的事件,特别是
ListSelectionEvent.getValueIsAdjusting()
执行任何你想执行的操作,当它返回 false。
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);
}
它只会被触发一次。