Swing/TreePaintLines のバックアップ(No.1)
- バックアップ一覧
 - 差分 を表示
 - 現在との差分 を表示
 - 現在との差分 - Visual を表示
 - ソース を表示
 - Swing/TreePaintLines へ行く。
  
- 1 (2008-02-04 (月) 16:09:01)
 - 2 (2008-03-18 (火) 14:34:52)
 - 3 (2012-09-09 (日) 09:37:18)
 - 4 (2013-08-02 (金) 20:57:26)
 - 5 (2013-09-07 (土) 00:30:27)
 - 6 (2014-11-25 (火) 03:03:31)
 - 7 (2015-01-13 (火) 11:29:05)
 - 8 (2015-05-21 (木) 19:41:15)
 - 9 (2016-08-08 (月) 02:11:21)
 - 10 (2017-10-03 (火) 13:52:29)
 - 11 (2019-04-09 (火) 15:45:42)
 - 12 (2021-01-15 (金) 11:48:11)
 - 13 (2023-07-28 (金) 17:12:10)
 - 14 (2025-01-03 (金) 08:57:02)
 - 15 (2025-01-03 (金) 09:01:23)
 - 16 (2025-01-03 (金) 09:02:38)
 - 17 (2025-01-03 (金) 09:03:21)
 - 18 (2025-01-03 (金) 09:04:02)
 - 19 (2025-06-19 (木) 12:41:37)
 - 20 (2025-06-19 (木) 12:43:47)
 
 
TITLE:JTreeの水平垂直線を表示しない
JTreeの水平垂直線を表示しない
編集者:Terai Atsuhiro
作成日:2008-02-04
更新日:2023-07-28 (金) 17:12:10
概要
JTreeのアイコンを繋ぐ水平垂直線の表示の有無を切り替えます。
#screenshot
サンプルコード
final JTree tree = new JTree();
add(new JCheckBox(new AbstractAction("Tree.paintLines") {
  public void actionPerformed(ActionEvent e) {
    if(((JCheckBox)e.getSource()).isSelected()) {
      UIManager.put("Tree.paintLines", Boolean.TRUE);
    }else{
      UIManager.put("Tree.paintLines", Boolean.FALSE);
    }
    tree.updateUI(); // 左のJTreeだけ更新
    //SwingUtilities.updateComponentTreeUI(MainPanel.this);
  }
}), BorderLayout.NORTH);
- &jnlp;
 - &jar;
 - &zip;
 
解説
上記のサンプルでは、左のJTreeの水平線などの表示を、UIManager.put("Tree.paintLines", Boolean.FALSE);で切り替えています(右は常に非表示)。
複数のJTreeの表示を個別に切り替えたい場合は、Swing - Hide horizontal and vertical lines in a JTreeのように、BasicTreeUI#paintHorizontalLine メソッドなどをオーバーライドする方法もあります。