Как использовать элемент управления Button Group Swing в Java?

Как добавить переключатели в группу кнопок с помощью NetBeans?

Как только я их добавлю, как мне получить выбранный переключатель из группы кнопок?

Ответ 1

Я очень рекомендую прочитать этот отличный учебник. Здесь выдержка из кода из статьи, которая удовлетворяет вашему вопросу о том, как создавать и добавлять кнопки в ButtonGroup:

JRadioButton birdButton = new JRadioButton(birdString);
birdButton.setSelected(true);

JRadioButton catButton = new JRadioButton(catString);

   //Group the radio buttons.
ButtonGroup group = new ButtonGroup();
group.add(birdButton);
group.add(catButton);

Что касается выбора выбранного элемента, вам нужно перебирать элементы в группе, вызывающей isSelected.

Ответ 2

  • Перетащите ButtonGroup из палитры и поместите ее в свой графический интерфейс. Он появится в разделе Другие компоненты на панели Инспектор.
  • Щелкните правой кнопкой мыши на нем и Изменить имя переменной на что-то значимое.
  • Теперь выберите переключатель в графическом интерфейсе.
  • В панели Свойства найдите свойство buttonGroup.
  • Щелкните поле со списком рядом с ним и выберите группу кнопок.

Ответ 3

Чтобы программно выбрать радиокнопку, попробуйте следующее:

private final ButtonGroup buttonGroup = new ButtonGroup();

JRadioButton btn01 = new JRadioButton("btn 1");
buttonGroup.add(btn01);
JRadioButton btn02 = new JRadioButton("btn 2");
buttonGroup.add(btn02);
JRadioButton btn03 = new JRadioButton("btn 3");
buttonGroup.add(btn03);
// gets the selected radio button
if(buttonGroup.getSelection().equals(btn01.getModel())) {
 // code
}

// similarly for the other radio buttons as well.

Ответ 5

В панели "Навигатор" в разделе "Другие компоненты" выберите группу кнопок. Затем выберите вкладку "Код" на панели "Свойства". Выберите эллипсы (...), чтобы отредактировать раздел "Код после установки". Введите код, чтобы добавить кнопки в группу кнопок, как описано выше.

Например:

attemptGroup.add(attemptRadio1); attemptGroup.add(attemptRadio2); attemptGroup.add(attemptRadio3);