• 追加された行はこの色です。
  • 削除された行はこの色です。
---
title: JTreeで葉ノードが存在しない親ノードの描画を変更する
tags: [JTree, DefaultTreeModel, DefaultMutableTreeNode]
tags: [JTree, DefaultTreeModel, DefaultMutableTreeNode, Icon]
author: aterai
pubdate: 2014-09-22T00:06:58+09:00
description: JTreeの親ノードに子として葉ノードがひとつも存在しない場合でも、フォルダアイコン表示になるよう設定します。
---
* 概要 [#h1cf1d60]
`JTree`の親ノードに子として葉ノードがひとつも存在しない場合でも、フォルダアイコン表示になるよう設定します。

#download(https://lh6.googleusercontent.com/-vfEqezCRy2w/VB7mN-AcppI/AAAAAAAACNg/VkZLdGkiDRQ/s800/AsksAllowsChildren.png)

* サンプルコード [#e17c30fa]
#code(link){{
DefaultTreeModel model = (DefaultTreeModel) tree.getModel();
model.setAsksAllowsChildren(true);
}}

* 解説 [#m96dae48]
- 左: `DefaultTreeModel#setAsksAllowsChildren(false)`
-- デフォルト
-- `DefaultMutableTreeNode`が親ノード(`DefaultMutableTreeNode#getAllowsChildren()==ture`)であっても、子として葉ノードがひとつも存在しない場合、そのアイコンは、葉ノードアイコンになる
- 右: `DefaultTreeModel#setAsksAllowsChildren(true)` (チェックボックスで選択した場合)
-- `DefaultMutableTreeNode`が親ノード(`DefaultMutableTreeNode#getAllowsChildren()==ture`)の場合、子として葉ノードが存在するかどうかにかかわらず、そのアイコンは、親ノードアイコンになる

//* 参考リンク
* コメント [#x7ad6151]
#comment
#comment