田源
2025-01-15 78fa1f005a9ec2581611e53d7eba8efeacb4df6e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package com.vci.client.uif.engine.client.compare.dialog.treenode;
 
import javax.swing.tree.DefaultMutableTreeNode;
 
/**
 * 树节点
 * @author VCI-STGK006
 *
 */
public class CompareTreeNode extends DefaultMutableTreeNode {
    
    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = -2984056831085506041L;
    /**
     * 节点显示名称
     */
    private String showName = null;
    
    /**
     * 构造器
     */
    public CompareTreeNode() {
        super();
    }
    
    /**
     * 构造器
     * @param userObject
     */
    public CompareTreeNode(String userObject) {
        super(userObject);
    }
    
    /**
     * 构造器
     * @param userObject
     */
    public CompareTreeNode(TreeNodeObject userObject) {
        super(userObject);
        userObject.setOwnedTreeNode(this);
    }
    
    /**
     * 构造器
     * @param showName 显示名称
     * @param userObject
     */
    public CompareTreeNode(String showName, TreeNodeObject userObject) {
        super(userObject);
        this.showName = showName;
        userObject.setOwnedTreeNode(this);
    }
    
    /**
     * 构造器
     * @param userObject
     * @param allowsChildren
     */
    public CompareTreeNode(TreeNodeObject userObject, boolean allowsChildren) {
        super(userObject, allowsChildren);
        userObject.setOwnedTreeNode(this);
    }
    
    @Override
    public void setUserObject(Object userObject) {
        if(userObject != null && userObject instanceof TreeNodeObject) {
            throw new IllegalArgumentException("数据类型错误 : " + userObject.getClass().getName());
        }
        if(this.getUserObject() != null) {
            ((CompareTreeNode)getUserObject()).remove(this);
        }
        super.setUserObject(userObject);
        TreeNodeObject tno = (TreeNodeObject) userObject;
        tno.setOwnedTreeNode(this);
    }
    
    /**
     * 得到显示名称
     * @return
     */
    public String getShowName() {
        return showName;
    }
 
    /**
     * 设置显示名称
     * 
     * @param showName 设置 showName为null时,将返回userObject.toString();
     */
    public void setShowName(String showName) {
        this.showName = showName;
    }
    
    @Override
    public String toString() {
        if(this.showName == null) {
            return getUserObject().toString();
        } else {
            return this.showName;
        }
    }
}