Có phải bất kỳ thay đổi nào đối với hàng đã chọn của JTable
sẽ kích hoạt ListSelectionListener
được thêm hai lần?Tại sao JTable luôn kích hoạt ListSelectionListener hai lần?
Có thể kích hoạt ListSelectionListener
chỉ một lần không?
Có phải bất kỳ thay đổi nào đối với hàng đã chọn của JTable
sẽ kích hoạt ListSelectionListener
được thêm hai lần?Tại sao JTable luôn kích hoạt ListSelectionListener hai lần?
Có thể kích hoạt ListSelectionListener
chỉ một lần không?
Nhìn vào sự kiện được truyền cho người nghe của bạn, đặc biệt là
ListSelectionEvent.getValueIsAdjusting()
thực hiện bất cứ điều gì ops bạn muốn làm khi điều này trả về false.
ListSelectionEvent.getValueIsAdjusting()
sẽ hoạt động như bình luận bởi @MeBigFatGuy.
tương tự ví dụ:
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);
}
nó sẽ được kích hoạt chỉ một lần.
cảm ơn @jrbedard – joshdlv
Cảm ơn ... Điều này giải quyết được sự cố ... –
Bạn có thể cung cấp một vài chi tiết ans @MeBigFatGuy –