Swing/NimbusTreeLinesStyle のバックアップ(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/NimbusTreeLinesStyle へ行く。
- 1 (2017-06-26 (月) 14:47:25)
- 2 (2017-07-03 (月) 15:40:51)
- 3 (2018-02-15 (木) 14:23:42)
- 4 (2018-07-04 (水) 18:33:24)
- 5 (2020-06-26 (金) 19:22:26)
- 6 (2021-12-03 (金) 06:51:31)
- 7 (2023-09-06 (水) 12:05:22)
- 8 (2025-01-03 (金) 08:57:02)
- 9 (2025-01-03 (金) 09:01:23)
- 10 (2025-01-03 (金) 09:02:38)
- 11 (2025-01-03 (金) 09:03:21)
- 12 (2025-01-03 (金) 09:04:02)
- category: swing folder: NimbusTreeLinesStyle title: NimbusLookAndFeelで、JTreeのノード接続線のスタイルを変更する tags: [JTree, NimbusLookAndFeel, LookAndFeel] author: aterai pubdate: 2017-06-26T14:46:25+09:00 description: NimbusLookAndFeelでのJTreeのノード間の接続線を表示し、そのスタイルを点線に変更します。 image: https://drive.google.com/uc?export=view&id=1u-SlKhxho10TFLrR_OwXc4RJ39aWzk4hkg
概要
NimbusLookAndFeel
でのJTree
のノード間の接続線を表示し、そのスタイルを点線に変更します。
Screenshot

Advertisement
サンプルコード
// UIManager.put("Tree.drawVerticalLines", true);
UIManager.getLookAndFeelDefaults().put("Tree.drawVerticalLines", true);
UIManager.put("Tree.drawHorizontalLines", true);
UIManager.put("Tree.linesStyle", "dashed");
// or
JTree tree = new JTree();
UIDefaults d = new UIDefaults();
d.put("Tree.drawVerticalLines", Boolean.TRUE);
d.put("Tree.drawHorizontalLines", Boolean.TRUE);
d.put("Tree.linesStyle", "dashed");
tree.putClientProperty("Nimbus.Overrides", d);
View in GitHub: Java, Kotlin解説
- 左:
Default
- NimbusLookAndFeelでのデフォルトは、
JTree
のノード接続線は水平、垂直ともに非表示
- NimbusLookAndFeelでのデフォルトは、
- 右:
linesStyle: dashed
UIDefaults
を使用して、Tree.drawVerticalLines
とTree.drawHorizontalLines
をBoolean.TRUE
、Tree.linesStyle
をdashed
に設定- スタイルの値は、
solid
とdashed
のみ対応?(none
やdotted
を設定してもsolid
と同じ線になる)
- スタイルの値は、
UIManager.put("Tree.drawVerticalLines", true);
で変更に失敗し、UIManager.getLookAndFeelDefaults().put("Tree.drawVerticalLines", true);
で成功する場合がある?- swing - Nimbus JTree presentation error under java version 1.8 - Stack Overflow
JTree
の生成のタイミングで変更に失敗したり、UIManager.put("Tree.drawHorizontalLines", true);
は問題ない場合もあって、原因不明
- メモ
BasicLookAndFeel
、MetalLookAndFeel
、WindowsLookAndFeel
などは、`は効果がないが、
Tree.lineTypeDashed`が使用可能UIManager.put("Tree.paintLines", true); UIManager.put("Tree.lineTypeDashed", true);