У меня есть JTable с 2 coloumns, один столбец - тип объекта, второй столбец - флажок. В этой таблице пользователь хочет выбрать только один флажок. Я пробовал много кодов (примеры: jtable checkbox single selection и Second one), наконец, я сделал это, используя функцию.сделать только один флажок, который можно выбрать в столбце 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 флажка, тогда мой код позволяет многократно выбирать. Что здесь не так?
Try ButtonGroup. – Praveen
На это был дан ответ ранее с очень изящным примером - http://stackoverflow.com/questions/7920068/using-setvalueat-to-recreate-mutually-exclusive-check-boxes/7920159#7920159 –