清除RadioButtons的选择

时间:2018-05-06 20:13:16

标签: java swing jradiobutton buttongroup

我的应用程序:用户希望对象以特定速度向左移动 - 他/她从moveToLeft ButtonGroup中选择一个单选按钮。但他/她改变主意并希望对象向右移动 - 他/她从moveToRight ButtonGroup中选择一个单选按钮。 我的问题是 - 如何清除buttongroup,这被选为第一。我尝试过ClearSelection和setSelected(false),但它不起作用。这是我的代码:

            JRadioButton vel1 = new JRadioButton("10 km/h");
            JRadioButton vel2 = new JRadioButton("20 km/h");
            JRadioButton vel3 = new JRadioButton("30 km/h");
            JRadioButton vel4 = new JRadioButton("40 km/h");

            ButtonGroup moveToRight = new ButtonGroup();
            moveToRight.add(vel1);
            moveToRight.add(vel2);
            ButtonGroup moveToLeft = new ButtonGroup();
            moveToLeft.add(vel3);
            moveToLeft.add(vel4);

            if(vel1.isSelected() || vel2.isSelected() )
            {
                moveToLeft.clearSelection();
                //vel3.setSelected(false);
                //vel4.setSelected(false);
            }
            if(vel3.isSelected() || vel4.isSelected() )
            {
                moveToRight.clearSelection();
                //vel1.setSelected(false);
                //vel2.setSelected(false);
            }

ButtonGroups分为两个不同的面板。

1 个答案:

答案 0 :(得分:0)

什么不起作用?如果执行clearSelection(...)语句,那么它将起作用。如果它不起作用,则不执行该语句。

您发布的代码不会执行任何操作。当创建按钮并且框架甚至不可见时,将执行该代码,因此显然用户尚未选择它们。

  

......他/她选择了一个单选按钮......

那么你需要在单选按钮上添加ActionListener来执行相关代码。

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