[英]how to set two background colors in JTable cell in Java Swing
[英]How to properly set editable checkbox inside a JTable cell in Java Swing application?
我有一个JTable,其中有几个JCheckBoxes。 我正在从数据库初始化JCheckBoxes和其他单元格值。 我的问题是,当我单击JCheckBox选中或未选中时,它们什么也不做。
当我单击两次时,可编辑的JTable单元格变为活动状态,并显示JCheckBox的值为0或1。我可以使用0或1来编辑该单元格,保存后,它将保存记录并使用已编辑的值加载该复选框。
以下代码片段显示了我如何加载和创建JCheckBoxes:
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方法中,我重写了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;
}
}
};
这是当我双击JCheckBoxe时JTable的图片:
无论如何,我可以单击一下即可选中或取消选中JCheckBoxes? 我不想用0或1更新JTable单元以进行检查或取消检查。 请帮忙。
干杯。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.