如何将JRadioButton添加到JTable中的组中我已将单选按钮添加到JTable使用渲染器和编辑器。我也为此创建了小组。我无法实现排他性(只有一个单选按钮应该选择)使用这一原则。请看我的代码下面,并感谢您的答复。呈现器和编辑器类:class RadioButtonRenderer implements TableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
if (value == null)
return null;
return (Component) value;
}}class RadioButtonEditor extends DefaultCellEditor implements ItemListener {
private JRadioButton button;
public RadioButtonEditor(JCheckBox checkBox) {
super(checkBox);
}
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
if (value == null)
return null;
button = (JRadioButton) value;
button.addItemListener(this);
return (Component) value;
}
public Object getCellEditorValue() {
button.removeItemListener(this);
return button;
}
public void itemStateChanged(ItemEvent e) {
super.fireEditingStopped();
}}这就是准备数据和分组的地方:private void displayPhoneListShow(Person person) {
DefaultTableModel dm = new DefaultTableModel() {
@Override
public boolean isCellEditable(int row, int column) {
return true;
}
};
Object[] objects = new Object[3];
Object[] tableColumnNamesPhone = new Object[3];
tableColumnNamesPhone[0] = "Select";
tableColumnNamesPhone[1] = "Phone Number";
tableColumnNamesPhone[2] = "Preferred";我仍然无法达到这个结果。我也尝试过添加ButtonGroup group = new ButtonGroup()作为类变量,也是RadioButtonRenderer类并向此组添加按钮。但结果却无动于衷。请建议。
2 回答
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
挑剔:(A)最好不要传递表的呈现器查找/配置-而是使用getCellRenderer和PreareRenderer b)-即使您坚持手动执行,混合视图和模型坐标可能会失败(询问表的值,而不是模型)c)可能遗漏了一些明显的东西,但是:为什么是2d数组?直接改变逻辑和最大限度?
- 2 回答
- 0 关注
- 432 浏览
添加回答
举报
0/150
提交
取消