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);
}
}