속성 :의 JTree 세트 노드 이름은 내가 트리 뷰를 작성하고 다음과 같은 루트에 노드를 추가 할 수의 JTree를 사용하고
String nodeName = "node1";
DefaultMutableTreeNode child = new DefaultMutableTreeNode(nodeName);
root.add(child);
각 노드에 대한 UserObject
것은 지금 String
의 유형이 있습니다. 트리를 표시 할 때 노드 이름으로 "node1"
을 표시합니다.
그러나, 나는이 개 속성으로 nodeObject
클래스의 객체로 노드에 UserObject
를 추가 할 : 나는 트리 노드에이 nodeObject을 추가 할 때
private class nodeObject{
private String nodeName;
private boolean isSomethingElse;
public nodeObject(String name, boolean something){
nodeName = name;
isSomethingElse = something;
}
public String getName(){
return nodeName;
}
//Other setter/getter after these code
}
가 :
nodeObject nodeObject = new nodeObject("node1",true);
DefaultMutableTreeNode child = new DefaultMutableTreeNode(nodeObject);
root.add(child);
그것은 보여줍니다 노드 이름으로 object ID
. 제 질문은 노드 이름을 으로 설정하면 노드 이름으로 "node1"
이 표시 될 수 있습니다.
모든 답변을 주시면 감사하겠습니다. 고맙습니다!
@Override
public String toString() {
return this.nodeName;
}
는 다른 toString를 원한다면이 객체가 JTree에 전념하고, 다른 곳에서는 사용하지 않을 경우
는
Nevermind, DefaultMutableTreeNode를 확장 한 자체 TreeNode를 작성한 다음 toString() 함수를 덮어 쓰면 해결할 수 있습니다. – baizen