java - 将按钮组添加到 GUI 或在没有 GUI 的情况下一次只选择一个按钮

标签 java swing user-interface jradiobutton

我目前正在从事一个项目,该项目将接受 Pizza 的理论订单。我正在制作的一个面板将提供三种披萨选项。薄皮,普通和深盘。 我最初的想法是使用 Buttongroup,因为这样一次只能选择一个。然而,这似乎不适用于 JPanels,正如我在此处搜索时发现的那样。但是,我在这里找到的所有答案都没有提到任何其他方式来防止它们被一次选中。

最佳答案

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。只需将按钮(在我的例子中是 JRadioButtons)分配给相应的组即可。

关于java - 将按钮组添加到 GUI 或在没有 GUI 的情况下一次只选择一个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21816110/

相关文章:

java - 如何在 Android 上禁用 ListView 的滚动?

java - 如何在 JavaFx 中显示按钮中的所有文本

java - jButton 仅响应第二次单击

Java Swing : Key pressed key stroke on an `InputMap` triggers its action several times while holding down the key

ios - 如何将 UIBlurEffect 与模态视图 Controller 一起使用?

java - 如果首次使用 Android,GoogleMap v2 会崩溃

java - 最终局部变量无法赋值

java - 从列中获取数据,然后选择数据所属的整行

python - PyQt6 在同一窗口中跨选项卡实现复制粘贴功能

java - 可以用 sun.misc.unsafe 破坏安全管理器吗?