我试图在编程器模式下编写功能完整的Windows 7计算器。现在,我正在努力让按钮正常工作。所以我想要用于hexa的按钮被禁用,直到选择了十六进制的单选按钮。因此,在dec或Bint模式下,A-F按钮将被禁用,直到它被选中。需要禁用按钮,取决于是否选中单选按钮
下面是按钮A:
JButton button_A = new JButton("A");
button_A.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
button_A.setEnabled(false);
hexDisable();
textField.setText(textField.getText() + "A");
}
});
这里是单选按钮:
JRadioButton rButton_Hex = new JRadioButton("Hex");
rButton_Hex.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
hexDisable();
}
});
rButton_Hex.setBounds(9, 218, 54, 23);
contentPane.add(rButton_Hex);
Group1.add(rButton_Hex);
这是将启用和禁用相应的按钮的方法。
public void hexDisable(){
button_A.setEnabled(true);
}
我对于在Java中使用GUI非常新颖。
如果我可以建议,也许是考虑为不同的计算器模式创建按钮工具栏或个人按钮面板和简单的隐藏(.setVisible(假) )那些你目前不需要的,并显示你需要的(.setVisible(true))。 – DevilsHnd
你可以:将按钮组放置在某种“列表”中,以便更改它们的状态;您可以:将'List'放入某种'Map'中以便管理。 – MadProgrammer