2015-03-01 1 views
0

Я пытаюсь сделать программу создания образов в java (с квадратами/кругами/и т. Д.) У меня есть несколько JRadioButtons в ButtonGroup, которые символизируют «режим» моей программы (если я нарисую круг, что-то еще, если я перемещаю объекты). Когда я нажимаю на разные режимы, меняется «режим», и я могу делать то, что хочу. Моя проблема в том, что я пытаюсь изменить режим, дважды щелкнув по объекту. Я делаю это в MouseListener. Я могу выбрать объект, чтобы изменить «режим», но я не могу изменить выбранную кнопку JRadio на моей ButtonGroup. Я искал какое-то время (поскольку setSelected() не работает). Я знаю, что ButtonGroup может сразу выбрать только одну кнопку. Как можно отменить выбор текущего и выбрать тот, который мне нужен (первый). Спасибо за любые советы.Как выбрать JRadioButton из ButtonGroup?

+0

Используйте 'IsSelected();', он будет говорить состояние вашего 'RadioButton', если вы используете его на петле вы могли бы знать, какая из slected. –

ответ

0

Из документов:

общественного недействительными setSelected (булево б)

Устанавливает состояние кнопки. Обратите внимание, что этот метод не вызывает actionEvent. Вызовите doClick, чтобы выполнить изменение программных действий.

Как уже упоминалось здесь использовать:

radioBtn.doClick(); 
+0

У меня было несколько трудностей, потому что у моего radioBtn не было имени (созданного методом и добавляющего imediatly в jFrame). Я назвал каждую кнопку и использовал radioBtn.doClick (1), чтобы щелкнуть первый (тот, который мне нужен). Спасибо. – user3450862

0

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

public void setButtonGroup(int rdValue, Enumeration elements){ 
    while (elements.hasMoreElements()){ 
     AbstractButton button = (AbstractButton)elements.nextElement(); 
     if(Integer.parseInt(button.getActionCommand())==rdValue){ 
      button.setSelected(true); 
     } 
    } 
} 

затем

setButtonGroup(yourValue, yourButtonGroup.getElements()); 

 Смежные вопросы

  • Нет связанных вопросов^_^