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

我正在尝试将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;

    }

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


GCT1015
浏览 122回答 1
1回答

白板的微信

将按钮添加到按钮组喜欢这个:ButtonGroup&nbsp;bgroup&nbsp;=&nbsp;new&nbsp;ButtonGroup(); bgroup.add(getRdbtnAttackMode()); bgroup.add(getRdbtnDefensiveMode());为每个按钮创建一个,您将很好ActionListener
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java