1
我目前正在開發一個項目,該項目將採用Pizza的理論訂單。我製作的一個小組將爲比薩提供三種選擇。薄的地殼,普通的和深的盤子。 我最初的想法是使用一個Buttongroup,因爲這樣做使得一次只能選擇一個。然而,這似乎不適用於JPanels,因爲我在這裏搜索我發現。然而,我在這裏找到的答案中沒有提到任何其他的做法,以防止他們一次被選中。將一個Buttongroup添加到GUI中或者一次只選擇一個沒有GUI的按鈕
我目前正在開發一個項目,該項目將採用Pizza的理論訂單。我製作的一個小組將爲比薩提供三種選擇。薄的地殼,普通的和深的盤子。 我最初的想法是使用一個Buttongroup,因爲這樣做使得一次只能選擇一個。然而,這似乎不適用於JPanels,因爲我在這裏搜索我發現。然而,我在這裏找到的答案中沒有提到任何其他的做法,以防止他們一次被選中。將一個Buttongroup添加到GUI中或者一次只選擇一個沒有GUI的按鈕
與ButtonGroup的想法是完全正確的。查看Java Api瞭解更多信息。
編輯
一個最小的例子是這樣的:
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。只需將按鈕(在我的情況下是JRadioButton)分配給相應的組。