【问题标题】:jRadioButton value in jTablejTable中的jRadioButton值
【发布时间】:2016-05-07 17:44:42
【问题描述】:

我刚刚开始学习 Java。我似乎被困在我想让 Java 为我做的某件事上。

我想让两个 jRadioButtons 与一个 jTable 一起工作。 jRadioButton 1 应显示“Yes”,而 jRadioButton 2 应显示“No”。

然而,当我尝试将行添加到我的 jtable 时,我得到的只是一种错误消息。

我的单选按钮不是显示“是/否”,而是显示“javax.swing.JToggleButton$ToggleButtonModel@2a93a9f2”。任何想法这个“错误信息”是什么意思?我用谷歌搜索,但找不到关于它的东西。提前致谢。

编辑: 我添加了这个字符串:

public String Tapp;  

我的单选按钮:

    private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                              
Tapp = "Yes";
}

private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                              
Tapp = "No";
}                                             

在我的 jtable 的“添加”按钮上,我有这个。 我的按钮组被称为“bgButtonGroup”。

    private void bAdd11ActionPerformed(java.awt.event.ActionEvent evt) {                                       
    ErrorMessage.setText("");
    DefaultTableModel model3;
    model3 = (DefaultTableModel) tblProduct11.getModel();
    if(!tfChassi.getText().trim().equals("")){
        model3.addRow(new Object[]{
            tf1.getText(),
            tf2.getText(),
            tf3.getText(),
            cb1.getSelectedItem().toString(),
            cb2.getSelectedItem().toString(),
            cb3.getSelectedItem().toString(),
            cb4.getSelectedItem().toString(),
            tf4.getText(),
            tf5.getText(),
            bgButtonGroup.getSelection()});

【问题讨论】:

  • 您需要为此创建一个单元格渲染器。看here
  • @rdonuk 我不想要 jtable 内的实际按钮,我只想要列内的“是”或“否”文本。我使用 jcomboboxes、文本字段和最终...jradiobuttons...这个渲染器的东西仍然相关吗?感谢您的回复。
  • 我不认为我理解您的问题。请分享一些代码。
  • 当我单击任一 RadioButton 并向 jTable 添加新行时,我希望 ButtonGroup 在 jTable 中显示文本,是或否取决于您单击的 RadioButton。正如我所说,我得到的只是那个错误消息。我不确定如何真正做到这一点;我的问题是,我该如何实现?

标签: java swing netbeans jradiobutton


【解决方案1】:

bgButtonGroup.getSelection() 这是返回所选单选按钮的模型,而不是它的文本。如果将操作命令设置为单选按钮,则可以通过bgButtonGroup.getSelection().getActionCommand() 获取文本。例如,在创建您的yesRadioButton 后,使用yesRadioButton.setActionCommand("Yes") 将“yes”设置为它的操作命令。

private void bAdd11ActionPerformed(java.awt.event.ActionEvent evt) {                                       
    ErrorMessage.setText("");
    DefaultTableModel model3;
    model3 = (DefaultTableModel) tblProduct11.getModel();
    if(!tfChassi.getText().trim().equals("")){
        model3.addRow(new Object[]{
            tf1.getText(),
            tf2.getText(),
            tf3.getText(),
            cb1.getSelectedItem().toString(),
            cb2.getSelectedItem().toString(),
            cb3.getSelectedItem().toString(),
            cb4.getSelectedItem().toString(),
            tf4.getText(),
            tf5.getText(),
            bgButtonGroup.getSelection().getActionCommand()
        }
    );

【讨论】:

  • 我能说什么...?它工作得很好。非常感谢您帮助像我这样愚蠢的菜鸟。你度过了我的周末,@rdonuk! :))
猜你喜欢
  • 2012-06-30
  • 2012-06-25
  • 2012-12-10
  • 1970-01-01
  • 2015-02-20
  • 1970-01-01
  • 1970-01-01
  • 2020-04-17
  • 1970-01-01
相关资源
最近更新 更多