如何將JRadioButton添加到JTable中的組中我已將單選按鈕添加到JTable使用渲染器和編輯器。我也為此創(chuàng)建了小組。我無法實現(xiàn)排他性(只有一個單選按鈕應(yī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();
}}這就是準備數(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";我仍然無法達到這個結(jié)果。我也嘗試過添加ButtonGroup group = new ButtonGroup()作為類變量,也是RadioButtonRenderer類并向此組添加按鈕。但結(jié)果卻無動于衷。請建議。
2 回答

一只名叫tom的貓
TA貢獻1906條經(jīng)驗 獲得超3個贊
挑剔:(A)最好不要傳遞表的呈現(xiàn)器查找/配置-而是使用getCellRenderer和PreareRenderer b)-即使您堅持手動執(zhí)行,混合視圖和模型坐標可能會失敗(詢問表的值,而不是模型)c)可能遺漏了一些明顯的東西,但是:為什么是2d數(shù)組?直接改變邏輯和最大限度?
- 2 回答
- 0 關(guān)注
- 465 瀏覽
添加回答
舉報
0/150
提交
取消