我正在为一个中等复杂的应用程序开发一个 GUI,使用 Java AWT 作为 GUI,当我在 Linux 上的 X11(使用任何桌面管理器)中运行它时它看起来很棒,但在 Windows XP 中它看起来很奇怪。
实际上,起初它看起来不错,但如果我需要更改任何帧的背景颜色,之后我无法将其更改回正确的颜色。当我尝试将背景颜色设置回正常时,框架得到看起来像纯白色背景,而不是原生应用程序在 XP 中的米色。我似乎无法让它们看起来更自然。
我试过了:
frame.setBackground(null);
和
frame.setBackground(java.awt.SystemColor.window);
没有成功。任何建议,将不胜感激。
提前感谢您的帮助!
——乔纳森·佩里-豪斯
编辑:这是一个简单的示例来演示我的意思,我希望这个小的空框架是米色的,但在 Windows XP 中它是白色的:
import java.awt.*;
public class HelloWorld {
public static void main(String[] args) {
Frame f = new Frame("Hello World");
f.setPreferredSize(new Dimension(200, 200));
f.setBackground(SystemColor.window);
f.pack();
f.setVisible(true);
}
}