У меня есть JTable, где у меня есть пара JCheckBoxes. Я инициализирую JCheckBoxes и другие значения ячеек из базы данных. Моя проблема в том, что когда я нажимаю на JCheckBox для проверки или снятия флажка, они ничего не делают.Как правильно установить редактируемый флажок внутри ячейки JTable в приложении Java Swing?
Когда я дважды щелкнул, редактируемая ячейка JTable активируется и показывает значение JCheckBox, которое равно 0 или 1. Я могу отредактировать ячейку с 0 ИЛИ 1, и когда я сохраню, она сохраняет запись и загружает этот флажок с помощью отредактированное значение.
После сниппет, чтобы показать, как я загрузки и создания компоненты JCheckBox:
class TextBoxNewCellRenderer extends JPanel implements TableCellRenderer {
:::
public Component getTableCellRendererComponent(
case 10: //Active
switch (column) {
case 0:
this.add(lblStar);
this.add(new JLabel(value.toString(), JLabel.LEFT));
break;
case 1:
checkBox = new JCheckBox();
checkBox.setToolTipText("Set 0 OR 1");
checkBox.setEnabled(true);
if(value.toString().equals("1"))
checkBox.setSelected(true);
if(value.toString().equals("0"))
checkBox.setSelected(false);
this.add(checkBox);
break;
:::
return this;
}
}
В моем renderTable методе я Override следующие isCellEditable:
DefaultTableModel model = new DefaultTableModel() {
@Override
public boolean isCellEditable(int row, int column) {
switch (row){
case 10: //Active
switch (column) {
case 0:
return false;
case 1:
return true;
case 2:
return false;
case 3:
return false;
default:
return false;
}
default:
return false;
}
}
};
Вот картина JTable, когда я дважды нажмите на JCheckBoxe:
В любом случае я могу проверить или снять флажок JCheckBoxes одним щелчком мыши? Я не хочу обновлять JTable-ячейку с 0 ИЛИ 1, чтобы проверить или снять флажок. Пожалуйста помоги.
Cheers.
Лучший способ получить нас в полной мере и быстро понять вашу проблему будет, если вы должны были создать и опубликовать [минимальную примерную программу] (http://stackoverflow.com/help/mcve), небольшую, но полную которая имеет только необходимый код, чтобы продемонстрировать вашу проблему, которую мы можем скопировать, вставить, скомпилировать и запустить без изменений. –