2013-01-31 4 views
1

Я новичок в Java, и у меня есть JTree, что я хочу добавить некоторые узлы, тогда я хочу сделать custom renderer для элемента управления, чтобы каждый узел имел другой значок, и когда я пришел из aC# background, я хочу добавить Тег для каждого узла, чтобы сделать его критерием выбора значка, может ли кто-нибудь помочь мне в этом?Как добавить тег в DefaultMutableTreeNode, чтобы сделать различие между узлами?

P.S: Я не хочу, чтобы переключить дело по его строковому текст, поскольку он может меняться от языка к другим

Вот пример кода, я использовал для добавления узлов;

DefaultTreeModel model = (DefaultTreeModel) jTree1.getModel(); 
DefaultMutableTreeNode root = (DefaultMutableTreeNode) model.getRoot(); 

for (int j = 0; j < 5; j++) { 
    DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("Main :" + j); 
    model.insertNodeInto(node1, root, root.getChildCount()); 

    for (int i = 0; i < 4; i++) { 
     DefaultMutableTreeNode tmpnode = new DefaultMutableTreeNode(i); 
     model.insertNodeInto(tmpnode, node1, node1.getChildCount()); 
    } 
} 

ответ

3
public DefaultMutableTreeNode(Object userObject) 

Конструктор может получить любой объект. Определите свой собственный класс NodeInfo, где вы можете определить любые нужные поля. Переопределение toString() класса должно производить простое представление (или вы можете написать собственный рендерер).