Yat*_*oel 5 java user-interface swing background-color
我正在开发一个Java桌面应用程序.在其中我有4 JButtons个JPanel.现在我希望每当点击一个按钮时,它的背景颜色会变成其他颜色(比如橙色)来表示它已被点击,所有其他3个按钮的背景颜色重置为默认颜色(如果它们中的任何一个都有橙色)背景颜色).
因此,一次只有一个按钮可以具有橙色.
我应用的当前方法是我在xxxActionPerformed()JButton button1 的方法中实现了以下代码
button1.setBackground(Color.Orange);
button2.setBackground(Color.Gray);
button3.setBackground(Color.Gray);
button4.setBackground(Color.Gray);
Run Code Online (Sandbox Code Playgroud)
其余三个按钮同样如此.
实际上,我不希望背景颜色为灰色(对于未点亮的按钮).相反,我想要默认的背景颜色,以便背景颜色根据最终用户平台的外观将其自身调整为GUI的外观.
Q1.如何获得默认背景颜色?
Q2.这是正确的方法吗?还是有任何其他机制,通过它我可以将按钮组中的所有四个按钮分组,以便只有一个可以同时具有指定的属性(如单选按钮)?
您可以从UIManager获取按钮的标准背景颜色:
button1.setBackground(UIManager.getColor("Button.background"));
Run Code Online (Sandbox Code Playgroud)
据我所知,按键可以改变不同的外观和感觉.这是一个很好的webstart应用程序,显示所有可用的键:
http://tips4java.wordpress.com/2008/10/09/uimanager-defaults/
只是null用来使用默认颜色:
button1.setBackground(Color.ORANGE);
button2.setBackground(null);
...
Run Code Online (Sandbox Code Playgroud)考虑将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);
...
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
24996 次 |
| 最近记录: |