用户选择“管理”单选按钮或“用户”单选按钮(其中2个包含在组中)。如果选择了admin单选按钮,则会将用户带到adminDashboard,否则将用户带到userDashboard。
我一直在寻找代码来验证哪个单选按钮被选中,虽然我找不到任何正确的java代码
我当前的按钮和监听器方法代码(尝试使用isSelected())
JButton btnEnter = new JButton("Enter");
btnEnter.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
if(rdbtnAdminAccount.isSelected())
{
AdminDashboard admin = new AdminDashboard();
}
else if (rdbtnNormalAccount.isSelected())
{
UserDashboard userd = new UserDashboard();
}
}
});
单选按钮和组代码:
JRadioButton rdbtnNormalAccount = new JRadioButton("Normal Account");
rdbtnNormalAccount.setBounds(361, 190, 109, 23);
contentPane.add(rdbtnNormalAccount);
JRadioButton rdbtnAdminAccount = new JRadioButton("Admin Account");
rdbtnAdminAccount.setBounds(361, 213, 109, 23);
contentPane.add(rdbtnAdminAccount);
accountGroup.add(rdbtnNormalAccount);
accountGroup.add(rdbtnAdminAccount);
答案 0 :(得分:2)
将所有按钮添加到某种类型的List
中,只需遍历列表即可找到所选按钮...但是您需要某种方法来确定要采取的操作......
这可以通过使用映射到某种Action
的{{1}}的{{1}}来解决...
基本上...
JRadioButton
你没有必须使用Map
,它就是现有的......
创建一个方法,该方法采用for (JRadioButton btn : listOfButtons) {
if (btn.isSelected()) {
Action action = mapOfActions.get(btn);
action.actionPerformed(new ActionEvent(e, ActionEvent.ACTION_PERFORMED, null));
break;
}
}
的变量参数列表,只返回所选的单选按钮,但您仍然需要确定它是哪个按钮...请参阅第一点... < / p>
继续做你正在做的事情......