gpt4 book ai didi

java - 检索从组中选择的 Swing 单选按钮

转载 作者:行者123 更新时间:2023-11-30 04:23:43 26 4
gpt4 key购买 nike

用户选择“管理员”单选按钮或“用户”单选按钮(其中 2 个包含在一个组中)。如果选择了管理单选按钮,则用户将被带到 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);

最佳答案

你可以...

将所有按钮添加到某种类型的列表中,然后简单地迭代该列表以查找选定的按钮...但是您需要某种方法来确定要采取什么操作...

这可以通过使用映射到某种Map中的JRadioButtonAction来解决...

基本上...

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

您不必使用Action,它只是现成的。

你可以...

创建一个方法,该方法采用 JRadioButton 的参数变量列表,该方法仅返回选定的单选按钮,但您仍然必须决定它是哪个按钮......请参阅第一点。 ..

你可以...

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

关于java - 检索从组中选择的 Swing 单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16391778/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com