11

コンピューターで Java プログラム (DbVisualizer や OpenProj など) を実行すると、ボタン、画像、チェック ボックス、スクロールバーなどの一部の UI コンポーネントが空白のボックスとして表示されます。これらのコンポーネントの一部は、プログラムを開いたときに最初に正常に表示され、マウスをそれらの上に置くと空白になります。

Javaフォーラムで推奨されているように、すでにJREとビデオドライバーを更新し-Dsun.java2d.noddraw=true;-Dsun.java2d.d3d=false;、JAVA_OPTSを微調整しましたが、これらの提案されたソリューションはどれもこれまでのところ機能していません.

OS (Windows Vista) とハードウェアの構成がまったく同じである他の PC を確認したところ、多くの PC でその問題が発生していないため、これが OS 固有の問題であるとは思いません。

この状況のスクリーンショットは次のとおりです。

GUI ブランク ボックス

何か案は?

4

4 に答える 4

5

これらの JAVA_OPTS は、セミコロンではなくスペースで区切る必要があります。

jVisualVM を使用してアプリケーションに接続し、「JVM Arguments」セクションに目的のオプションがすべて含まれていることを確認します。

于 2013-09-06T19:14:27.477 に答える
4

Windows の基本テーマを使用しているときに、多くのグラフィカルな不具合を見つけることがよくありました。ウィンドウを移動すると、バックグラウンド ウィンドウの上に自分自身の後ろに軌跡が作成され、UI コントロールがマウスオーバーするまで表示されないことがありました。

すでに提案されているように、Windows の aero テーマを使用してみて、aero の外観が気に入らない場合は透明度をオフにしてください。

于 2013-09-05T12:14:05.087 に答える
0

DirectDraw を無効にするとこれが修正されると思われますが、無効にする試みは失敗しました。

Ryan が指摘したように、オプションの形式が正しくないようです。セミコロンを削除して間にスペースを入れるか、さらに良いのは のみを使用してsun.java2d.d3d=falseください。このsun.java2d.noddrawフラグはJava SE6u10で廃止されたため、 true に設定すると、 を設定した場合と同じ効果が得られるようになりましたsun.java2d.d3d=false。両方を設定する必要はありません。

不適切なフォーマットの影響は、次のコードで確認できます。

public class WrongArgs {
    public static void main(String[] args) {
        System.out.println("sun.java2d.noddraw: " + System.getProperty("sun.java2d.noddraw"));
        System.out.println("sun.java2d.d3d: " + System.getProperty("sun.java2d.d3d"));
    }
}

引数を指定してこのコードを実行する: "-Dsun.java2d.noddraw=true;-Dsun.java2d.d3d=false;" 生成:

sun.java2d.noddraw: true;-Dsun.java2d.d3d=false;

sun.java2d.d3d: null

引数「-Dsun.java2d.noddraw=true -Dsun.java2d.d3d=false」で実行

sun.java2d.noddraw: 真

sun.java2d.d3d: false

于 2013-09-10T09:08:56.037 に答える