我正在尝试在程序员模式下编写功能齐全的Windows 7计算器。现在,我正在努力让按钮正常工作。因此,我希望在选择hex的单选按钮之前禁用将用于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。
答案 0 :(得分:0)
只需在 RadioGroup 上制作setOnCheckedChangeListener:
RadioGroup radG = (RadioGroup) findViewById(R.id.yourRadioGroup);
radG.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// checkedId is the RadioButton selected
switch(checkedId)
{
case R.id.hexa:
//enable or disable button
break;
case R.id.normal:
//enable or disable button
break;
case R.id.other:
//enable or disable button
break;
}
}
});
答案 1 :(得分:0)
它只是导入所需的目录,然后JRadioButton被初始化为“NULL”,用于打开和关闭,然后只是添加到ButtonGroup!
Import Javax.swing.Jframe;
Private JRadioButton rdbtnOn=null;
Private JRadioButton rdbtnOff=null;
Private ButtonGroup bg = new ButtonGroup();
bg.add(rdbtnOn);
bg.add(rdbtnOFF);