如何在 Java 中使用 Button Group Swing 控件?

Posted

技术标签:

【中文标题】如何在 Java 中使用 Button Group Swing 控件?【英文标题】:How do I use the Button Group Swing control in Java? 【发布时间】:2011-01-19 01:22:15 【问题描述】:

如何使用 NetBeans 将单选按钮添加到按钮组?

添加后,如何从按钮组中选择单选按钮?

【问题讨论】:

【参考方案1】:
    从调色板中拖动ButtonGroup 并将其放到您的GUI 上。 它将显示在 Inspector 面板的 Other Components 下。 右键单击它,然后更改变量名称为有意义的名称。 现在在您的 GUI 中选择一个单选按钮。 在 Properties 面板中查找 buttonGroup 属性。 点击旁边的组合框并选择您的按钮组。

【讨论】:

詹姆斯,你可以考虑接受这个答案。我同意 Devon 给出了正确的 NetBeans 答案。 另一个很有帮助,但这应该是答案,因为它回答了问题。【参考方案2】:

我强烈推荐阅读this excellent tutorial。以下是文章中的代码摘录,可满足您关于如何创建按钮并将按钮添加到 ButtonGroup 的问题:

JRadioButton birdButton = new JRadioButton(birdString);
birdButton.setSelected(true);

JRadioButton catButton = new JRadioButton(catString);

   //Group the radio buttons.
ButtonGroup group = new ButtonGroup();
group.add(birdButton);
group.add(catButton);

至于获取哪个item被选中,基本需要iterate through the items in the group calling isSelected

【讨论】:

【参考方案3】:

要以编程方式选择单选按钮,请尝试以下操作:

private final ButtonGroup buttonGroup = new ButtonGroup();

JRadioButton btn01 = new JRadioButton("btn 1");
buttonGroup.add(btn01);
JRadioButton btn02 = new JRadioButton("btn 2");
buttonGroup.add(btn02);
JRadioButton btn03 = new JRadioButton("btn 3");
buttonGroup.add(btn03);
// gets the selected radio button
if(buttonGroup.getSelection().equals(btn01.getModel())) 
 // code


// similarly for the other radio buttons as well.

【讨论】:

【参考方案4】:

How to Use Buttons, Check Boxes, and Radio Buttons

ButtonGroup group = new ButtonGroup();
group.add(new JRadioButton("one"));
group.add(new JRadioButton("two"));
//TO FIND SELECTED
//use a loop on group.getElements();
//and check isSelected() and add them
//to some sort of data structure

【讨论】:

【参考方案5】:
private final ButtonGroup agreeDisagree = new ButtonGroup();

    JToggleButton tglbtnAgree = new JToggleButton("Agree");
    tglbtnAgree.setSelected(true);
    tglbtnAgree.setBounds(227, 127, 75, 23);
    agreeDisagree.add(tglbtnAgree);
    contentPane.add(tglbtnAgree);

    JToggleButton tglbtnDisagree = newJToggleButton("Disagree");
    tglbtnDisagree.setBounds(307, 127, 75, 23);
    agreeDisagree.add(tglbtnDisagree);
    contentPane.add(tglbtnDisagree);

【讨论】:

【参考方案6】:

在您的导航窗格中,在“其他组件”下,选择您的按钮组。然后在“属性”窗格中选择“代码”选项卡。选择省略号 (...) 以编辑“After-All-Set Code”部分。输入您的代码以将按钮添加到按钮组,如上所述。

例如:

attemptGroup.add(attemptRadio1); attemptGroup.add(attemptRadio2); attemptGroup.add(attemptRadio3);

【讨论】:

以上是关于如何在 Java 中使用 Button Group Swing 控件?的主要内容,如果未能解决你的问题,请参考以下文章

15.处理button group

如何在 <button> 元素中使用光标选择文本?

开源java游戏框架libgdx专题-15-系统控件-Button类

MFC中Radio Button互斥操作

使用 angular2 在 mat-radio-group 中设置默认选择的 mat-radio-button

如何在Button的onClick功能之后或期间重定向?