【问题标题】:Making jButtons mutually exclusive in java swing在java swing中使jButtons互斥
【发布时间】:2017-11-02 11:47:23
【问题描述】:

请问各位,我该如何为循环生成的一组按钮中的每个按钮创建一个 jButton mouseClicked 动作互斥。我已经尝试了用于单选按钮的 buttonGroup,但它不起作用..

【问题讨论】:

  • 不确定您的意思 - 请尝试更清楚地解释您要做什么。
  • 尝试制作一组​​单选按钮来做你想做的事,然后让它们不可见。创建一组 jButton,每个都链接到一个不可见的单选按钮。以两种方式传递单击/选择/取消选择操作,以便 jButton 的反应与它们链接到的单选按钮相同。
  • 贴出你写的代码...
  • @BarrySW19,Lemme 这样说。改变了颜色而不是 One..
  • @rossum 请问如何将 d jbutton 分配给对应的 jradiobutton?

标签: java swing jbutton


【解决方案1】:

也许使用JToggleButton和ButtonGroup,这里是一个简单的例子:

import java.awt.FlowLayout;

import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JToggleButton;


public class MutuallyExclusiveJToggleButtons extends JFrame {

    public static void main(String[] args) {
        new MutuallyExclusiveJToggleButtons().setVisible(true);
    }

    public MutuallyExclusiveJToggleButtons () {
        setSize(300,300);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        setLayout(new FlowLayout());

        JToggleButton button1 = new JToggleButton("1");
        JToggleButton button2 = new JToggleButton("2");
        JToggleButton button3 = new JToggleButton("3");
        JToggleButton button4 = new JToggleButton("4");

        ButtonGroup bg = new ButtonGroup();

        bg.add(button1);
        bg.add(button2);
        bg.add(button3);
        bg.add(button4);

        getContentPane().add(button1);
        getContentPane().add(button2);
        getContentPane().add(button3);
        getContentPane().add(button4);

    }

}

结果将如下所示:四个按钮,目前只能切换其中一个:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    • 2011-08-29
    • 2021-08-19
    • 2011-07-14
    • 1970-01-01
    • 2013-05-17
    相关资源
    最近更新 更多