我正在开发一个 Java 桌面应用程序。里面我有4个JButtons
on a JPanel
。现在我希望每当单击一个按钮时,其背景颜色就会更改为其他颜色(例如橙色),以表示它已被单击,并且所有其他 3 个按钮的背景颜色重置为默认颜色(如果其中任何一个按钮有橙色)背景颜色)。
因此,一次只有一个按钮可以具有橙色。
我当前应用的方法是在xxxActionPerformed()
JButton按钮1的方法
button1.setBackground(Color.Orange);
button2.setBackground(Color.Gray);
button3.setBackground(Color.Gray);
button4.setBackground(Color.Gray);
其余三个按钮也类似。
现在实际上,我不希望背景颜色为灰色(对于未单击的按钮)。相反,我想要默认的背景颜色,以便背景颜色根据最终用户平台的外观调整自身以适应 GUI 的外观。
Q1.如何获得默认背景颜色?
Q2。这是执行此操作的正确方法吗?或者是否有任何其他机制可以将所有四个按钮分组到一个按钮组中,以便一次只有一个按钮可以具有指定的属性(如单选按钮)?
-
只需使用null
使用默认颜色:
button1.setBackground(Color.ORANGE);
button2.setBackground(null);
...
-
考虑将 JToggleButtons 与 ButtonGroup 一起使用,设置按钮的 Icon 和 PressedIcon。无需更改背景颜色。
button1 = new JToggleButton(new ImageIcon("0.jpg"));
button1.setSelectedIcon(new ImageIcon("1.jpg"));
button2 = new JToggleButton(new ImageIcon("0.jpg"));
button2.setSelectedIcon(new ImageIcon("2.jpg"));
...
ButtonGroup group = new ButtonGroup();
group.add(button1);
group.add(button2);
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)