当前位置:  开发笔记 > 编程语言 > 正文

如何从ButtonGroup中选择哪个JRadioButton

如何解决《如何从ButtonGroup中选择哪个JRadioButton》经验,为你挑选了4个好方法。

我有一个包含表单上的单选按钮的swing应用程序.ButtonGroup但是,我看到了可用的方法,我似乎无法获得所选的名称JRadioButton.这是我到目前为止所能说的:

从ButtonGroup,我可以执行一个getSelection()返回ButtonModel.从那里,我可以执行一个getActionCommand,但似乎并不总是有效.我尝试了不同的测试并获得了不可预测的结果.

另外ButtonGroup,我可以从中获得枚举getElements().但是,然后我必须遍历每个按钮只是为了检查它是否是所选择的按钮.

有没有更简单的方法来找出选择了哪个按钮?我正在Java 1.3.1和Swing中编程.



1> Rendicahya..:

我遇到了类似的问题并解决了这个问题:

import java.util.Enumeration;
import javax.swing.AbstractButton;
import javax.swing.ButtonGroup;

public class GroupButtonUtils {

    public String getSelectedButtonText(ButtonGroup buttonGroup) {
        for (Enumeration buttons = buttonGroup.getElements(); buttons.hasMoreElements();) {
            AbstractButton button = buttons.nextElement();

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

        return null;
    }
}

它返回所选按钮的文本.


很好的解决方案,获取所选按钮的文本 - 但是应该知道重命名按钮时输出会发生变化(例如翻译时).不鼓励将任何功能绑定到GUI中显示的文本.

2> Draemon..:

我会循环通过你的JRadioButtons电话isSelected().如果你真的想离开,ButtonGroup你只能去模特.您可以将模型与按钮匹配,但如果您可以访问按钮,为什么不直接使用它们?


@Thufir:ButtonGroup告诉Java只应该选择组的JRadioButtons.没有它,所有这些都可以同时选择.
什么可能是按钮组的重点呢?

3> 小智..:

你必须添加setActionCommandJRadioButton那时只是做:

String entree = entreeGroup.getSelection().getActionCommand();

例:

java = new JRadioButton("Java");
java.setActionCommand("Java");
c = new JRadioButton("C/C++");
c.setActionCommand("c");
System.out.println("Selected Radio Button: " + 
                    buttonGroup.getSelection().getActionCommand());



4> Ale Rojas..:

您可以将actionAction和放到每个单选按钮(字符串)中。

this.jButton1.setActionCommand("dog");
this.jButton2.setActionCommand("cat");
this.jButton3.setActionCommand("bird");

假设它们已经在ButtonGroup(在本例中为state_group)中,则可以像下面这样获得所选的单选按钮:

String selection = this.state_group.getSelection().getActionCommand();

希望这可以帮助

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有