java - 我可以将 JRadioButton 添加到 JTable 中吗

标签 java swing jtable jradiobutton

我尝试使用 CellEditorCellRendererJRadioButton 添加到 JTable 中,但我无法添加JRadioButtonJTable。我正在使用 NetBeans 和后端 MySQL。请帮助我。

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

编辑:如果我尝试使用它在 jTable 的自定义代码中添加单选按钮,

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

最佳答案

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

  • 使用SINGLE_SELECTION 模式选择单独的行。

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

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

  • 附录:如果需要 JRadioButton,可以将它们添加到 JPanel 中,如 example 所示,归因于@mKorbel。

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

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

关于java - 我可以将 JRadioButton 添加到 JTable 中吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11154378/

相关文章:

java - 使用java打印html文件而不向用户显示打印对话框

java - 我想向 JTable 列添加右填充,这可能吗?

java - JNA - 映射 native Windows 数据类型(IN 和 OUT 参数)

java - GAE 部署页面速度警告

java - 将 json 转换为对象列表

java - 错误: "the method add(Component) in the type Container is not applicable for the arguments (Square)

java - jScrollPane 无法添加组件

java - MongoDb Criteria 查询 LTE 不适用于数字

java - JTable - 在多个单元格中换行文本

java - 将行导出到 Excel 时如何替换默认的 jtable 列值 - Java