3

OS XのJavaアプレットでいくつかのUIレンダリングのバグを解決しようとしていますが、理解できないバグを見つけました。

java.awt.Frameを拡張するために開いたすべてのウィンドウは、setBackground()呼び出しを無視し、代わりにOS Xのデフォルト(OSのバージョンに応じてブラッシュドメタルまたはグレーのグラデーション)を使用しているようです。ただし、Dialogを拡張するために開いたものはすべて正常に機能します。

paint()メソッドをオーバーライドして、そこに背景色を描画してみました。ただし、これは部分的にしか機能しません。背景は場所によっては正しい色になりますが、フレームのすべての子コンポーネントは、私が設定したものではなく、OS Xの背景で描画されるため、さらに見栄えが悪くなります。それらの同じコンポーネントタイプ(パネル、チェックボックスなど)は、ダイアログ拡張ウィンドウのいくつかで使用され、そこで正常に機能するので、フレームに何かが混乱している必要があると思います。

OS Xで動作するフレームの背景色を設定する方法はありますか?他の誰かがこれを見たことがありますか?

Microsoft JVMをサポートする必要があるため、Java 1.1仕様に対するコーディングに固執していることに注意してください(始めないでください...)。

4

1 に答える 1