当前位置: 首页 > 知识库问答 >
问题:

多个jradiobutton的actionlistener

皇甫逸清
2023-03-14

我在for循环中有一个多jradiobutton,我正在尝试将侦听器放在它上面,我发现:

多个单选按钮的操作侦听器

创建二维JRadioButton数组,如

    JRadioButton[][] jRadioButtons = new JRadioButton[8][];
    ButtonGroup bg = new ButtonGroup();
    JPanel panel = new JPanel();
    panel.setLayout(new GridLayout(8, 8));
    for (int i = 0; i < 8; i++) {
        for (int j = 0; j < 8; j++) {
            JRadioButton btn = new JRadioButton();
            btn.addActionListener(listener);
            btn.setName("Btn[" + i + "," + j + "]");
            bg.add(btn);
            panel.add(btn);
            // can be used for other operations
            jRadioButtons[i][j] = btn;
        }
    }

这是所有JRadioButton的单个ActionListener

ActionListener listener = new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        JRadioButton btn = (JRadioButton) e.getSource();
        System.out.println("Selected Button = " + btn.getName());
    }
};

我有点理解,但我仍有一些澄清:

  1. 二维的jRadio按钮的目的是什么?我的意思是,我有点明白它是为jRadio按钮设置一个名称,但就我的理解而言,它只是用于显示。是的,确认这是您选择的jRadio按钮,但我不明白它在放置actionlistener时的目的是什么
  2. 二维的jRadio按钮真的有那么必要吗?
  3. 我能不能就用一下jRadio按钮的名字

做这样的事情:

if(NameOfJRadioButton.isSelected())

{

//some procedures

}

^(我似乎无法将其转换为代码:/)

如果是,我该怎么做?或者,对于如何为多个JradioButton设置侦听器,您还有其他建议吗?感谢您的任何建议:)

共有1个答案

姚树
2023-03-14

关于您的第一点和第二点,二维数组的原因是未知的,因为它不是您的代码,但对于使用JRadioButton来说根本没有必要。但是,将所有按钮放在某种类型的数组中是很有用的,无论是数组列表还是按钮组(按钮的摇摆列表),用于在调用操作时使用按钮检查事物。例如,在您的第三点上,此数组列表将允许您遍历并检查哪些按钮已被选中并相应地执行操作。

action listener的用途是在用户单击按钮时执行操作。最普遍的用途是,用户只允许选择一定数量的JRadioButtons,或者在选择后禁用它们。e、 g.在字符选择菜单上。

 类似资料:
  • 介绍 (Introduction) JRadioButton类是单选按钮的实现 - 可以选择或取消选择的项目,它向用户显示其状态。 Class 声明 (Class Declaration) 以下是javax.swing.JRadioButton类的声明 - public class JRadioButton extends JToggleButton implements Acc

  • 主要内容:1 Java JRadioButton的介绍,2 Java JRadioButton的声明,3 Java JRadioButton的构造方法,4 Java JRadioButton的方法,5 Java JRadioButton的案例1,6 Java JRadioButton的案例21 Java JRadioButton的介绍 JRadioButton类用于创建单选按钮。它用于从多个选项中选择一个选项。它广泛用于考试系统或测验中。 应该将其添加到ButtonGroup中,以仅选择一个单选

  • 我需要一些帮助,当我单击JRadioButton group时,JRadioButton group的值将显示在jtext区域中,用于每个选定的组。我现在一次只能得到一组。谢谢

  • 我想在按钮组中拦截对JRadioButton的点击。更准确地说:当选择JRadioButton A并且用户单击JRadioButton B时,我想显示一个Yes/No选项窗格。只有当用户单击“是”时,才会选择单选按钮B。如果用户单击“否”,则不应更改任何内容。这是不是或者说这是怎么可能的? 谢谢你抽出时间

  • 在一个项目中,我将ItemListener添加到一组JcheckBox和JRadioButtons中。 我希望当用户单击已经选择的JRadioButton时,它会被取消选择。 因为我知道的唯一方法是获取相应的ButtonGroup,然后调用clearSelection()方法。但在itemStateChanged()方法中,我有JtoggleButton选项=(JtoggleButton)事件。g

  • 当JRadioButton设置为final时,如何更改其标签? 这是构造函数中初始化单选按钮的一段代码,当按下检查按钮时,选定的单选按钮的值被发送到验证用户答案的方法: 选择“下一个问题”按钮时,单选按钮的文本标签需要更改为下一组答案。不幸的是,由于单选按钮设置为final,这会导致应用程序崩溃。 我该怎么做?