【问题标题】:Clear Selection of RadioButtons清除单选按钮选择
【发布时间】:2018-05-06 20:13:15
【问题描述】:

我的应用程序:用户希望对象以特定速度向左移动 - 他/她从 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 位于两个不同的面板中。

【问题讨论】:

  • 听起来是个糟糕的设计。 Radio buttons are typically used when one and only one item in the group is selected.也许更好的设计是单个按钮组,速度为 -40 到 +40,或者一组用于速度(包括零),另一组用于选择左或右。
  • 你的minimal reproducible example在哪里证明你的问题???您被要求在最后一个问题中发布一个:stackoverflow.com/questions/49211619/…。每个问题都应该发布MCVE。当您无法听取过去提出的建议时,我们为什么要继续提供帮助???您还获得了有关同一问题的 Swing 教程的链接。你为什么不看教程中使用单选按钮的例子???在发布问题之前先做一些基本的阅读。

标签: java swing jradiobutton buttongroup


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2011-02-10
    • 2018-09-11
    • 1970-01-01
    • 2023-03-12
    • 2012-09-11
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多