我正在创建的代码涉及 JRadioButton 和 JComboBox。我希望在选择 JRadioButton 时启用 JComboBox,在未选择或取消选择时禁用 JComboBox。我的问题是,如果我取消选择 JRadioButton,则 JComboBox 将不会被禁用。我怎样才能做到这一点?这是我的代码
LouisClub=new JComboBox();
LouisClub.setEnabled(false);
LouisClub.addItem("Writer");
LouisClub.addItem("Photojournalist");
LouisClub.addItem("Cartoonist");
LouisClub.addItem("Layout Artist");
Louis=new JRadioButton("The Louisian");
Louis.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
LouisClub.setEnabled(true);
}
});
最佳答案
对于此类事情,您应该使用 JCheckBox 而不是 JRadioButton,然后您需要在 actionPerformed() 方法中检查复选框状态并基于该启用/禁用组合框。类似的东西
Louis=new JCheckBox();
Louis.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
LouisClub.setEnabled(((JCheckBox)e.getSource()).isSeleted());
}
}
此外,使用 ChangeListener 而不是 ActionListener 可能会更好(不确定)。
Louis.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent ce) {
LouisClub.setEnabled(((JCheckBox)ce.getSource()).isSeleted());
}
});
关于java - 取消选择 JRadioButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8953450/