如何將JRadioButton添加到JTable中的組中我已將單選按鈕添加到JTable使用渲染器和編輯器。我也為此創(chuàng)建了小組。我無(wú)法實(shí)現(xiàn)排他性(只有一個(gè)單選按鈕應(yīng)該選擇)使用這一原則。請(qǐng)看我的代碼下面,并感謝您的答復(fù)。呈現(xiàn)器和編輯器類: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();
}}這就是準(zhǔn)備數(shù)據(jù)和分組的地方: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";我仍然無(wú)法達(dá)到這個(gè)結(jié)果。我也嘗試過(guò)添加ButtonGroup group = new ButtonGroup()作為類變量,也是RadioButtonRenderer類并向此組添加按鈕。但結(jié)果卻無(wú)動(dòng)于衷。請(qǐng)建議。
如何將JRadioButton添加到JTable中的組中
萬(wàn)千封印
2019-07-16 10:46:32