1

JTreeSwingのコンポーネントでノードとルートのアイコンを変更するにはどうすればよいですか?

4

3 に答える 3

2

使用DefaultTreeCellRendererするsetClosedIconと、setOpenIconおよびsetLeafIcon

木の使い方からコピー:

ImageIcon leafIcon = createImageIcon("images/middle.gif");
if (leafIcon != null) {
    DefaultTreeCellRenderer renderer = 
    new DefaultTreeCellRenderer();
    renderer.setLeafIcon(leafIcon);
    tree.setCellRenderer(renderer);
}
于 2010-02-24T16:07:41.167 に答える
1

Sun のJTree に関するチュートリアルには、TreeCellRenderer をサブクラス化して JTree 内のノードとテキストを取得する方法に関するセクションがあります。

于 2010-02-24T16:08:57.417 に答える
0

閉じたノード、リーフ、および開いたノードに異なるアイコンを使用するだけの場合は、非常に簡単です。

// 3 つのアイコンを作成 private Icon customOpenIcon = new ImageIcon("images/my_open.gif"); プライベート アイコン customClosedIcon = new ImageIcon("images/my_closed.gif"); プライベート アイコン customLeafIcon = new ImageIcon("images/my_leaf.gif");

//DefaultMutableTreeNode 階層を作成したと仮定します DefaultMutableTreeNode rootNode = new... ... JTree tree = new JTree(rootNode );

DefaultTreeCellRenderer customRenderer = new DefaultTreeCellRenderer();
customRenderer.setOpenIcon(customOpenIcon);
customRenderer.setClosedIcon(customClosedIcon);
customRenderer.setLeafIcon(customLeafIcon);
tree.setCellRenderer(customRenderer );
于 2010-02-24T16:32:02.357 に答える