1

用户选择管理员单选按钮或用户单选按钮(其中两个包含在一个组中)。如果选择了 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);
4

1 回答 1

2

你可以...

将所有按钮添加到List某种类型的按钮中,然后简单地遍历列表以找到选定的按钮...但是您需要一些方法来确定要采取的操作...

这可以通过使用Action映射到JRadioButton某种Map...

基本上...

for (JRadioButton btn : listOfButtons) {
    if (btn.isSelected()) {
        Action action = mapOfActions.get(btn);
        action.actionPerformed(new ActionEvent(e, ActionEvent.ACTION_PERFORMED, null));
        break;
    }
}

你不必使用Action,它只是现成的..

你可以...

创建一个方法,该方法接受一个变量的参数列表,JRadioButton该列表只返回选定的单选按钮,但您仍然必须决定它是哪个按钮......见第一点......

你可以...

继续做你正在做的事...

于 2013-05-06T04:11:41.773 回答