• category: swing folder: NimbusLookAndFeel title: NimbusLookAndFeelを使用する tags: [LookAndFeel, NimbusLookAndFeel, UIManager] author: aterai pubdate: 2013-07-22T01:35:03+09:00 description: LookAndFeel一覧からNimbusLookAndFeelを名前で検索取得して使用します。 image: https://lh5.googleusercontent.com/-40dXjNq1HbU/UewL67WFpWI/AAAAAAAABwg/zOHVr2U7KiM/s800/NimbusLookAndFeel.png

概要

LookAndFeel一覧からNimbusLookAndFeelを名前で検索取得して使用します。Nimbus Look and Feel (The Java™ Tutorials > Creating a GUI With JFC/Swing > Modifying the Look and Feel)などのサンプルから引用しています。

サンプルコード

try {
  UIManager.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel");
  // // 以下はJDK 1.7.0 以前を考慮する場合の指定方法
  // for (UIManager.LookAndFeelInfo laf: UIManager.getInstalledLookAndFeels()) {
  //   if ("Nimbus".equals(laf.getName())) {
  //     UIManager.setLookAndFeel(laf.getClassName());
  //   }
  // }
} catch (ClassNotFoundException | InstantiationException
       | IllegalAccessException | UnsupportedLookAndFeelException ex) {
  ex.printStackTrace();
}
View in GitHub: Java, Kotlin

解説

JDK 1.7.0NimbusLookAndFeelのパッケージが移動されて完全クラス名が変更されたので、NimbusLookAndFeelのインスタンスを生成して設定するのではなく、一旦UIManager.getInstalledLookAndFeels()で全LookAndFeelInfoを取得し、名前がNimbusとなっているLookAndFeelを検索してからその完全クラス名を取得しています。

  • JDK 1.6.0_10: com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel
  • JDK 1.7.0以降: javax.swing.plaf.nimbus.NimbusLookAndFeel

参考リンク

コメント