TITLE:NimbusLookAndFeelでJComponentのサイズを変更する

Posted by at 2014-07-28

NimbusLookAndFeelでJComponentのサイズを変更する

NimbusLookAndFeelを使用している場合、クライアントプロパティを設定することでJComponentの表示サイズを変更することが出来ます。

ComponentSizeVariant.png

サンプルコード

booleanRenderer.putClientProperty("JComponent.sizeVariant", "mini");
View in GitHub: Java, Kotlin

解説

  • NimbusLookAndFeelを使用している場合、JComponent#putClientProperty("JComponent.sizeVariant", "mini");のように、クライアントプロパティを設定することで、その表示サイズを変更可能
    • デフォルトはregular、その他は小さい順にmini, small, largeが設定可能
    • JComponent#updateUI()を実行しないと、更新されない
      • このサンプルでは、SwingUtilities.updateComponentTreeUI(window);で実行
    • フォントがユーザー指定されている場合は、文字サイズは更新されない?
      • このサンプルでは、updateUI()の前に、jc.setFont(new FontUIResource(jc.getFont()));UIResource化することで回避
    • JTableBooleanRendererが二回目以降変更されない
      • 初回の*1.putClientProperty("JComponent.sizeVariant", "mini");は、正常に動作しているように見える

参考リンク

コメント