JTree компонент в Java качели - PullRequest
       27

JTree компонент в Java качели

1 голос
/ 24 февраля 2010

Как я могу изменить значок узлов и root в JTree компоненте Swing?

Ответы [ 3 ]

2 голосов
/ 24 февраля 2010

С DefaultTreeCellRenderer используйте setClosedIcon, setOpenIcon и setLeafIcon.

Скопировано из Как использовать деревья :

ImageIcon leafIcon = createImageIcon("images/middle.gif");
if (leafIcon != null) {
    DefaultTreeCellRenderer renderer = 
    new DefaultTreeCellRenderer();
    renderer.setLeafIcon(leafIcon);
    tree.setCellRenderer(renderer);
}
1 голос
/ 24 февраля 2010

Sun Tutorial в JTree содержит раздел о том, как создать подкласс TreeCellRenderer для получения узлов и текста в JTree.

0 голосов
/ 24 февраля 2010

Если все, что вы пытаетесь сделать, это иметь разные значки для закрытого узла, листа и открытого узла, это очень просто.

// Создать 3 иконки приватный значок customOpenIcon = new ImageIcon ("images / my_open.gif"); иконка private customClosedIcon = new ImageIcon ("images / my_closed.gif"); приватный значок customLeafIcon = new ImageIcon ("images / my_leaf.gif");

// Предполагается, что вы создали иерархию DefaultMutableTreeNode DefaultMutableTreeNode rootNode = new ... ... JTree tree = новый JTree (rootNode);

DefaultTreeCellRenderer customRenderer = new DefaultTreeCellRenderer();
customRenderer.setOpenIcon(customOpenIcon);
customRenderer.setClosedIcon(customClosedIcon);
customRenderer.setLeafIcon(customLeafIcon);
tree.setCellRenderer(customRenderer );
...