[英]make only one checkbox selectable in JTable Column
我有一个带有2个coloumns的JTable,一列是对象类型,第二列是复选框。 在该表中,用户只想选择一个复选框。 我尝试了很多代码(例如: jtable复选框单选和第二个 ),最后我通过使用函数完成了这个。
这是我的功能:
public void setSelectionEnableOrDisable(JTable table) {
int earlierSelectionRow = 0;
int selectedRow = table.getSelectedRow();
for (int i = 0; i < table.getRowCount(); i++) {
if ((Boolean) table.getValueAt(i, 1) == true && i != selectedRow) {
earlierSelectionRow = i;
}
}
table.setValueAt(true, selectedRow, 1);
table.setValueAt(true, earlierSelectionRow, 1);
}
但是,这个问题是什么,当我慢慢点击checbox时,它很好。 如果我快速点击2或3个复选框,那么我的代码允许多选。 这有什么不对?
我认为你可以做得更简单,比如:
public void setSelectionEnableOrDisable(JTable table) {
int selectedRow = table.getSelectedRow();
if ((Boolean)table.getValueAt(selectedRow , 1)) {
for (int i = 0; i < table.getRowCount(); i++) {
if ( i != selectedRow) {
table.setValueAt(false, i, 1);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.