Nimbusルック・アンド・フィール

このセクションは、近く予定されているJava SE 7リリースの機能と表記規則を反映するために更新されています。 最新のJDK7スナップショットjava.netからダウンロードできます。Nimbusは、Java SE 6 Update 10(Java SE 6u10)リリースで導入された、クロスプラットフォームの洗練されたルック・アンド・フィールです。 SwingSet3から取得された次のスクリーンショットに、Nimbusのルック・アンド・フィールを示します。

Nimbusルック・アンド・フィールを使用したSwingSet3のスクリーンショット

Nimbusは、静的なビットマップではなくJava 2Dベクター・グラフィックスを使用してユーザー・インタフェース(UI)を描画しているため、どのような解像度でも鮮明なUIがレンダリングされます。

また、Nimbusは高度なカスタマイズに対応しています。 Nimbusルック・アンド・フィールをそのまま使用することも、独自のブランドを含むスキンを作成(カスタマイズ)することもできます。

Nimbusルック・アンド・フィールの有効化

下位互換性を維持するため、デフォルトではSwingのルック・アンド・フィールはMetalのままになっていますが、次の3つの方法でこれをNimbusに変更できます。

  • グラフィカル・ユーザー・インタフェース(GUI)を作成する前のイベント・ディスパッチ・スレッドに、次のコードを追加します。

    import javax.swing.UIManager.*;
    
    try {
        for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
            if ("Nimbus".equals(info.getName())) {
                UIManager.setLookAndFeel(info.getClassName());
                break;
            }
        }
    } catch (Exception e) {
        // If Nimbus is not available, you can set the GUI to another look and feel.
    }
      

    コード内の最初の行によって、プラットフォームにインストールされているすべてのルック・アンド・フィール実装のリストが取得され、Nimbusが使用できることがわかるまでリストの要素が繰り返しチェックされます。 Nimbusが使用できる場合、ルック・アンド・フィールとして設定されます。


    バージョンに関する注意事項:Java SE 6実装のすべてのバージョンでNimbusがサポートされているわけではないため、UIManager.setLookAndFeelメソッドを呼び出して明示的にNimbusルック・アンド・フィールを設定することは避けてください。 また、Java SE 6u10リリースとJava SE 7リリースでは、Nimbusパッケージの場所が変わっています。 すべてのルック・アンド・フィール実装に対して繰り返しチェックを行うと、Nimbusが使用できない場合はデフォルトのルック・アンド・フィールが使用されるため、より安全性が高くなります。 Java SE 6 Update 10リリースでは、Nimbusパッケージはcom.sun.java.swing.plaf.nimbus.NimbusLookAndFeelに含まれています。


  • 特定のアプリケーションのデフォルト・ルック・アンド・フィールにNimbusを指定するには、コマンドラインで次を実行します。

    java -Dswing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel MyApp
      
  • デフォルトのルック・アンド・フィールを永続的にNimbusに設定するには、次の行を<JAVA_HOME>/lib/swing.propertiesファイルに追加します。

    swing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel
      

    swing.propertiesファイルが存在しない場合は、これを作成する必要があります。