2011-06-22 20 views
0

我在按钮组中有两个单选按钮,并且在同一个面板中有一个文本框和一个按钮。我只想在选择第二个按钮时启用文本框和按钮,而在选择另一个单选按钮时禁用该按钮。我试过这个,但没有奏效。根据netbeans中的单选按钮切换组件的'enable'属性

private void radio_button2ActionPerformed(java.awt.event.ActionEvent evt) { 
if(buttonGroup1.getSelection()==radio_button2) 
{ 
    button.setEnabled(true); 
    textbox.setEnabled(true); 
} 

我哪里出错了?

回答

1

您不想使用ActionListener,因为事件仅在您单击按钮时触发。相反,您可以使用ItemListener,以便在选择或取消选择项目时(通过单击另一个单选按钮)生成事件。例如:

radioButton2.addItemListener(new ItemListener() 
{ 
    public void itemStateChanged(ItemEvent e) 
    { 
     JRadioButton button = (JRadioButton)e.getSource(); 
     component1.setEnabled(button.isSelected()); 
     component2.setEnabled(button.isSelected()); 
    } 
});