java - 清除单选按钮的选择

标签 java swing jradiobutton buttongroup

我的应用程序:用户希望对象以特定速度向左移动 - 他/她从 moveToLeft ButtonGroup 中选择一个单选按钮。但他/她改变了主意并希望对象向右移动 - 他/她从 moveToRight 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 位于两个不同的面板中。

最佳答案

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

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

...he/she chooses one radiobutton...

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

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

关于java - 清除单选按钮的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50204108/

相关文章:

Java:ZipFileSystemProvider 不复制 zip 文件中的文件

java - 如何快速、轻松地在Java中初始化大量变量?

java - Android:应用程序意外停止(进一步调查的最佳方法是什么?)

java - 在 Java 中打开文件时通知操作系统

java - 使用Swing的JList

java - 从 DB 推送到 Java 客户端的数据异步连续轮询

java - 在单个程序中制作多个帧

java - 如何让 JLabel 准确预测它应该有多宽?

java - 如何将 Java 首选项类与 JRadioButton 一起使用

java - 如何在同一行显示单选按钮和标签?