如何找出在foor循环中创建的JRadioButton的名称

时间:2017-03-25 15:22:05

标签: java swing

我有几个问题,但我当时会问一个问题,这次问题是:如何用for循环制作JRadioButton但是知道它用了什么名字,以后我可以把它叫做有一些动作方法,例如我的代码:

 for (int i = 0; i < excavators.length; i++) {
        value = excavators[i];
        zaBag.add(new JLabel(value));
        zaBag.add(new JRadioButton());
    }

2 个答案:

答案 0 :(得分:1)

你无法真正做到这一点,但改变你的方法,而不是为每个JRadioButton分配一个JLabel,你可以使用以下方式设置单选按钮的文本:

jRadioButton.setText(value);或您的new JRadioButton(value);

现在我不完全明白你是什么意思:

  

但要知道它采取了什么名称,以后我可以称它为一些   行动方法

但我会假设您无法获取JRadioButton的文本,因为相关的标签,并且由于上面解决了问题,您可以使用以下步骤来检查是否单击了某个按钮并返回它的文字

1 - 围绕JRadioButtons

2 - 使用此项检查并在按钮被选中时返回:

if (button.isSelected()) {
                return button.getText();
            }

答案 1 :(得分:1)

    zaBag.add(new JLabel(value));
    zaBag.add(new JRadioButton());

不要使用两个组件。 JRadioButton还应包含按钮的文字:

    //zaBag.add(new JLabel(value));
    zaBag.add(new JRadioButton(value));

现在单击按钮,您只需使用getText()方法。

  

我有几个问题,但我会在当时提出一个问题

阅读How to Use Radio Buttons上Swing教程中的部分,了解更多信息和示例。

在提出进一步的问题之前,请先阅读本教程的其他部分。本教程包含所有Swing基础知识。

编辑:

  

我不知道对象单选按钮的名称是什么,所以我不能指定一些方法

这个名字无关紧要。你要么:

  1. 在创建单选按钮时为每个单选按钮分配一个唯一的侦听器,以便您可以调用指定方法

  2. 您将获得单选按钮的文本并根据文本调用该方法。

  3. 第一个选项是最佳选项,因为任何使用嵌套if / else语句的代码设计都很差。