• category: swing folder: BorderPaintedFlat title: JCheckBoxのチェックアイコンの縁をフラットに変更する tags: [JCheckBox, Border, LookAndFeel] author: aterai pubdate: 2019-05-27T15:42:03+09:00 description: JCheckBoxのチェックアイコンの縁をフラットな描画に変更します。 image: https://drive.google.com/uc?id=1z6d-FJLYNyI9xxBhfRr4p1uvoE_cGCS3OQ

概要

JCheckBoxのチェックアイコンの縁をフラットな描画に変更します。

サンプルコード

Box box1 = Box.createVerticalBox();
box1.setBorder(BorderFactory.createTitledBorder("setBorderPainted: false"));

JCheckBox c0 = new JCheckBox("setBorderPaintedFlat: false");
c0.setBorderPainted(false);
c0.setBorderPaintedFlat(false);
box1.add(c0);
box1.add(Box.createVerticalStrut(5));

JCheckBox c1 = new JCheckBox("setBorderPaintedFlat: true");
c1.setBorderPainted(false);
c1.setBorderPaintedFlat(true);
box1.add(c1);
View in GitHub: Java, Kotlin

解説

  • setBorderPainted: false: JCheckBox自体の縁を描画しない
    • setBorderPaintedFlat: false: JCheckBoxのチェックアイコンの縁をLookAndFeelのデフォルトで描画する
      • WindowsClassicLookAndFeelMotifLookAndFeelのデフォルトの縁は、立体的な描画になる
      • WindowsLookAndFeelMetalLookAndFeelのデフォルトの縁は、フラットな描画になるのでこのプロパティの影響を受けない
    • setBorderPaintedFlat: true: JCheckBoxのチェックアイコンの縁をフラットな描画にする
      • NimbusLookAndFeelのデフォルトの縁は、立体的な描画になるのでこのプロパティの影響を受けない
  • setBorderPainted: true: JCheckBox自体の縁を描画する
    • WindowsLookAndFeelなどのデフォルトはfalse
    • NimbusLookAndFeelでは効果がない
    • JCheckBox#setBorderPaintedFlat(...)には影響しない

参考リンク

コメント