我使用JTable
具有自己的单元格渲染器和单元格编辑器的 a。
比如说,这个表包含 2 列和 x 行:
第一列包含一个布尔值,它自己的单元格渲染和单元格编辑器(一个单选按钮)
第二列包含一个字符串值,它自己的单元格渲染器:它在第一个当前行的列设置为 true(选中单选按钮)
编辑器正确更新了所有值,但是当单选按钮设置为 true 时,第二行不会变为粗体...
我必须检查不同行的单选按钮才能查看更改
我在哪里可以触发这些更改?
干杯并感谢您的帮助
RadiobuttonTableCellEditor.java
public class RadiobuttonTableCellEditor extends DefaultCellEditor
implements ItemListener {
JRadioButton rb = new JRadioButton();
public RadiobuttonTableCellEditor(JCheckBox pCheckBox) {
super(pCheckBox);
}
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
if (value == null)
return null;
rb.addItemListener(this);
rb.setSelected((Boolean)value);
return rb;
}
public void itemStateChanged(ItemEvent e) {
super.fireEditingStopped();
}
public Object getCellEditorValue() {
rb.removeItemListener(this);
return rb.isSelected();
}
}