我的应用程序:用户希望对象以特定速度向左移动 - 他/她从 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/