1

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

1 に答える 1

1

私のコメントで述べたように...試しましたSystemColor.controlか?それはうまくいくはずです!ただし、使用する場合は注意してくださいSystemColor... Motif と Windows 95-98 UI が主に使用されていた時代の遺物です。多くの場合、最新の UI を扱うにはまったく不十分です。

于 2012-08-20T22:14:35.830 に答える