[Java] JTree toont niet goed

Pagina: 1
Acties:

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 15:40
Ik heb een simpele JTree in m'n applicatie, waar ik nu een aantal simpele objecten in stop. Maar op de een of andere manier toont de JTree niet goed:
Afbeeldingslocatie: http://www.davidjuffermans.nl/jtreescrewedup.png
Hij heeft het wel goed gedaan, en ik kan niet vinden wat ik hier nu verkeerd aan doe.Wat relevant code:

AutomationTreeNode (de objecten in m'n treenodemodel):
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class AutomationTreeNode extends Vector
{
    private Object object;
    
    public AutomationTreeNode(Object object)
    {
        this.object = object;
    }

    public String toString()
    {
        return object.toString();
    }
}


AutomationTreeModel (het model achter de JTree):
Java:
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
public class AutomationTreeModel implements TreeModel
{
    private Vector listeners = new Vector();
    private AutomationTreeNode root = new AutomationTreeNode("root"); 

    public Object getRoot()
    {
        return root;        
    }

    public int getChildCount(Object parent)
    {
        AutomationTreeNode parentNode = (AutomationTreeNode)parent; 
        return parentNode.size();
    }

    public boolean isLeaf(Object node)
    {   
        AutomationTreeNode parentNode = (AutomationTreeNode)node;
        boolean isLeaf = parentNode.size() == 0 ? true : false;
        return isLeaf;
    }

    public void addTreeModelListener(TreeModelListener l)
    {
        listeners.add(l);
    }

    public void removeTreeModelListener(TreeModelListener l)
    {
        listeners.remove(l);
    }

    public Object getChild(Object parent, int index)
    {
        AutomationTreeNode parentNode = (AutomationTreeNode)parent;
        return parentNode.elementAt(index);
    }

    public int getIndexOfChild(Object parent, Object child)
    {
        AutomationTreeNode parentNode = (AutomationTreeNode)parent;
        return parentNode.indexOf(child);
    }

    public void valueForPathChanged(TreePath path, Object newValue)
    {
        
    }

    /**
     * Add a child to the model. If the parent is null, it is added to the rootnode 
     * @param parent
     * @param child
     */
    public void addChild(Object parent, Object child)
    {
        AutomationTreeNode parentNode = null;
        if(parent != null)
            parentNode = (AutomationTreeNode)parent;
        else
            parentNode = root;
        parentNode.add(child);
    }
}


En hier maak ik m'n model in het panel:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
model = new AutomationTreeModel();
Account[] accounts = new Account[0];
try
{
    accounts = controller.getAllAccounts();
    for(int i = 0; i < accounts.length; i++)
    {
        AutomationTreeNode accountNode = new AutomationTreeNode(accounts[i]);
        model.addChild(null, accountNode);
    }
}
catch (RemoteException e)
{
    logger.error("Exception", e);
}
tree = new JTree(model);
JScrollPane scrollPane = new JScrollPane(tree);
scrollPane.setPreferredSize(new Dimension(300, 500));


Ik doe hier toch niets ingewikkelds of verkeerds? Als ik overigens in m'n debugger in het model kijk, staan alle objecten er wel in.

[ Voor 5% gewijzigd door sig69 op 03-03-2006 11:52 . Reden: was nog niet klaar... ]

Roomba E5 te koop


  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Probeer equals en hashcode eens te overriden? Ik ben niet thuis in Swing, maar equals en hashcode overriden is vrij standaard bij zulke klassen

Fat Pizza's pizza, they are big and they are cheezy


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 15:40
Omg ik ben echt dom vandaag 8)7
Dit soort dingen hoor ik nu toch wel te weten...

Roomba E5 te koop