У меня есть JTable, у которого есть флажки. В этой таблице реализована таблица listenChanged, которая вызывает событие eventChanged с true или false, если флажок установлен или нет.JTable Checkbox прослушиватель не работает должным образом
В элементе selectionChanged есть счетчик, чтобы узнать, сколько флажков отмечено. Но это не работает должным образом. Если я щелкнув в любом месте флажка, он также увеличит счетчик.
Вот как это выглядит:
@Override
public void tableChanged(TableModelEvent P_evt)
{
.....
listener.selectionChanged(F_newValue);
@Override
public void selectionChanged(boolean P_selected)
{
if (P_selected)
{
nextButton.setEnabled(true);
selectedBundles++;
System.out.println("Selected Bundles: " + selectedBundles);
}
if(!P_selected)
{
nextButton.setEnabled(false);
selectedBundles--;
System.out.println("Selected Bundles: " + selectedBundles);
}
if (selectedBundles > 0)
{
nextButton.setEnabled(true);
}
else
{
nextButton.setEnabled(false);
}
В каждом JTable, конечно, есть TableModel, который содержит фактические данные. Почему ты не можешь справиться с этим? – ControlAltDel
Что вы имеете в виду именно?, У меня есть TableModel, но я не хочу изменять данные таблицы. – seriously
TableModel.setValueAt вызывается, когда вы проверяете/снимаете контрольное значение в JTable. Вы можете переопределить это, чтобы подсчитать количество проверок или сохранить текущее значение отмеченных полей. – ControlAltDel