Переключить свойство «enable» компонента в соответствии с переключателем в NetBeans - PullRequest
0 голосов
/ 22 июня 2011

У меня есть две радиокнопки в группе кнопок, и на одной панели у меня есть текстовое поле и кнопка.Я хочу включить текстовое поле и кнопку только тогда, когда выбрана вторая кнопка, и отключить, когда выбрана другая кнопка-переключатель.Я попробовал это, и это не сработало.

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

Где я ошибся?

1 Ответ

1 голос
/ 22 июня 2011

Вы не хотите использовать ActionListener, потому что событие срабатывает только при нажатии кнопки. Вместо этого вы можете использовать ItemListener, чтобы событие генерировалось при выборе или отмене выбора элемента (путем нажатия на другую кнопку-переключатель). Что-то вроде:

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