我的应用程序:用户希望对象以特定速度向左移动 - 他/她从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分为两个不同的面板。
答案 0 :(得分:0)
什么不起作用?如果执行clearSelection(...)
语句,那么它将起作用。如果它不起作用,则不执行该语句。
您发布的代码不会执行任何操作。当创建按钮并且框架甚至不可见时,将执行该代码,因此显然用户尚未选择它们。
......他/她选择了一个单选按钮......
那么你需要在单选按钮上添加ActionListener
来执行相关代码。
阅读How to Use Radio Buttons上Swing教程中的部分,了解更多信息和工作示例。