В настоящее время я работаю над проектом, который будет принимать теоретические заказы на Pizza. Одна панель, которую я создаю, будет иметь три варианта для Pizza. Тонкая корка, обычное и глубокое блюдо. Моя первоначальная мысль заключалась в том, чтобы использовать Buttongroup, потому что они делают так, что только один может быть выбран одновременно. Однако это, похоже, не работает с JPanels, так как поиск здесь я обнаружил. Тем не менее, ни один из ответов, которые я нашел, не упоминал ни о каком другом способе его выполнения, который позволял им отбираться сразу.Добавление Buttongroup в графический интерфейс или создание только одной кнопки, выбранной за один раз без GUI
1
A
ответ
3
Идея с ButtonGroup совершенно правильная. Посмотрите в Java Api для получения дополнительной информации.
EDIT
минимальный пример будет выглядеть следующим образом:
import java.awt.GridLayout;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
import javax.swing.SwingUtilities;
public class BottonGroupGui extends JFrame {
public BottonGroupGui() {
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
JRadioButton a = new JRadioButton("a");
JRadioButton b = new JRadioButton("b");
this.setLayout(new GridLayout());
this.getContentPane().add(a);
this.getContentPane().add(b);
ButtonGroup group = new ButtonGroup();
group.add(a);
group.add(b);
this.setVisible(true);
this.pack();
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new BottonGroupGui();
}
});
}
}
Вы не должны добавить BottonGroup. Просто назначьте кнопки (в моем случае JRadioButtons) соответственно.