我可以将JRadioButton添加到JTable中吗?

时间:2012-06-22 10:22:08

标签: java swing jtable jradiobutton

我尝试使用JRadioButtonJTableCellEditor添加到CellRenderer,但我无法将JRadioButton添加到JTable。我正在使用NetBeans和后端MySQL。请帮帮我。

编辑:谢谢,但我不知道如何对JRadioButton进行分组。你能帮助我吗? 我有4列。第一列单元格包含项目名称,第二列单元格包含数量,第3和第4列单元格包含JRadio Buttons.Then我想分组第3和第4列单元格,每行包含JRadio按钮

编辑:如果我尝试使用此方法在jTable的自定义代码中添加radiobutton,

new JRadioButton("a"),然后在列中显示javax.swing.JRadioButton[,0,0,0x0,invalid,alignmentX=0.0,.....text=a],而不是按钮

1 个答案:

答案 0 :(得分:6)

您不清楚如何在JRadioButton中使用JTable;考虑这些替代方案:

  • 使用SINGLE_SELECTION模式选择各行。

    table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    
  • 使用Boolean.class类型的列,该列将使用JCheckBox呈现。此example将选择限制为单行。

  • 使用JComboBox作为editor进行行中的互斥选择。

  • 附录:如果需要JRadioButton,可以将其添加到JPanel,如example所示,原因是@mKorbel。

  • 附录:如果每个JRadioButton都有自己的列,则无法使用ButtonGroup,因为所有具有相同renderer的单元格都使用了一个按钮。您可以更新TableModel中同一行中的其他按钮,这些按钮应覆盖setValueAt()以强制执行通常由{{ButtonGroup管理的单一选择规则1}}。有一个例子here

  • 附录:由于@Guillaume Polet,这个example说明了一种管理每行一个单选按钮的方法。