为了账号安全,请及时绑定邮箱和手机立即绑定

在 Java Swing 中为 JRadio 按钮分配属性

在 Java Swing 中为 JRadio 按钮分配属性

GCT1015 2022-09-21 16:47:28

我正在尝试将JRadioButton链接到一个接口和一个实现该接口的方法。我有两种模式,即攻击和防御模式,我希望用户能够单击攻击切换按钮并启用它,当它被解锁时,它会激活防御模式


类中的代码


public class AttackMode implements GameBehaviour {


    public boolean behaviourMode(int numOfShips) {

        if(numOfShips < 3){

            return true;

        }

        return false;

    }


}


Code From Java Swing GUI


private JRadioButton getRdbtnDefensiveMode() {

        if (rdbtnDefensiveMode == null) {

            rdbtnDefensiveMode = new JRadioButton("Defensive Mode");

            rdbtnDefensiveMode.setEnabled();

            rdbtnDefensiveMode.addItemListener(new ItemListener() {


                public void itemStateChanged(ItemEvent arg0) {

                    if (arg0.getStateChange() == ItemEvent.SELECTED) {

                         theRules.theMasterShip.setBadAssBehaviour(new DefenceMode());

                         rdbtnAttackMode.setSelected(false);

                    }else if (arg0.getStateChange() == ItemEvent.DESELECTED) {


                         theRules.theMasterShip.setBadAssBehaviour(new AttackMode());

                         rdbtnAttackMode.setSelected(true);

                    }

                    return;

                }

            });         

            rdbtnDefensiveMode.setFont(new Font("Trebuchet MS", Font.BOLD | Font.ITALIC, 11));

            rdbtnDefensiveMode.setBounds(658, 355, 109, 23);

        }

        return rdbtnDefensiveMode;

    }

我期望如果单击攻击按钮,它应该实现攻击方法,如果未选中它们,则应激活防御模式按钮。因此,必须始终启用其中一个按钮


查看完整描述

1 回答

?
白板的微信

TA贡献1539条经验 获得超3个赞

将按钮添加到按钮组

喜欢这个:

ButtonGroup bgroup = new ButtonGroup();
bgroup.add(getRdbtnAttackMode());
bgroup.add(getRdbtnDefensiveMode());

为每个按钮创建一个,您将很好ActionListener


查看完整回答
反对 回复 2022-09-21

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信