如何在Mac OS上设置JButton的背景颜色

Ste*_*ier 26 java macos swing

通常使用Java Swing,您可以使用以下命令设置按钮的背景颜色:

myJButton.setBackground(Color.RED);
Run Code Online (Sandbox Code Playgroud)

这会导致按钮变红.但在Mac OS上,这种方法似乎被忽略了.该按钮只保留默认颜色.

如何在Mac OS上设置JButton的颜色?

cod*_*lhu 36

你试过设置JButton.setOpaque(true)吗?

JButton button = new JButton("test");
button.setBackground(Color.RED);
button.setOpaque(true);
Run Code Online (Sandbox Code Playgroud)

  • 好吧,这不是设置Windows JButton背景的mac版本.它实际上只设置按钮背后的背景,但在窗口上可以更改按钮颜色.如何将灰色mac按钮本身更改为另一种颜色? (10认同)
  • 似乎你需要添加一个setBorderPainted(false)命令才能使按钮变为不透明(Mavericks上的Java 6). (4认同)

小智 33

你试过设置彩绘边框是假的吗?

JButton button = new JButton();
button.setBackground(Color.red);
button.setOpaque(true);
button.setBorderPainted(false);
Run Code Online (Sandbox Code Playgroud)

它适用于我的mac :)

  • 是的,当尝试从Window的角度获得相同的结果时,这实际上应该是正确的答案.谢谢. (6认同)

小智 19

如果您不需要使用Apple的外观,一个简单的解决方法是在将任何GUI组件添加到JFrame或JApplet之前,将以下代码放在应用程序或applet中:

 try {
    UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName() );
 } catch (Exception e) {
            e.printStackTrace();
 }
Run Code Online (Sandbox Code Playgroud)

这将为跨平台外观设置外观和感觉,然后setBackground()方法将用于更改JButton的背景颜色.