Announcement

Collapse
No announcement yet.

JTree - neues TreeModel übernehmen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • JTree - neues TreeModel übernehmen

    Hallo,

    wie kann ich das TreeModell in einem schon bestehenden JTree komplett ändern?

    mit meinem Code:

    void neuestreemodel() {

    hash.put("Items",strings);
    hash.put("SubItems",subhash);
    subhash.put("Item 1",new Integer(1));
    subhash.put("Item 2",new Integer(2));
    subhash.put("Item 3",new Integer(3));
    subhash.put("Items with Subitems",subsubhash);

    subsubhash.put("Yet more subitems",strings);
    subsubhash.put("Item 1",new Integer(1));
    subsubhash.put("Item 2",new Integer(2));
    subsubhash.put("Item 3",new Integer(3));
    subsubhash.put("Item 4",new Integer(4));
    subsubhash.put("Item 5",new Integer(5));

    JTree hashtree = new JTree(hash);

    JScrollPane hashpane = new JScrollPane(hashtree);

    jTreevomFrame = hashtree;
    jTreevomFrame.setModel(hashtree.getModel());
    jTreevomFrame.expandPath(new TreePath(hashtree.getModel().getRoot()));

    this.show();
    }

    soll das treemodell von hashtree in den tree meiner applikation übernommen werden. es passiert aber nichts dergleichen.

    was mache ich falsch?

  • #2
    Hallo Achim,<br>
    Du musst entweder TreeModel interface implementieren oder aber <br>
    eine Unterklasse von DefaultTreeModel bilden, dann aber daran denken<br>,
    dass DefaultTreeModel-Erweiterungen die richtigen Events feuern<br>
    müssen, wenn Knoten geändert, eingefügt oder gelöscht werden oder <br>
    wenn sich die Struktur des Trees ändert. Manche Methoden von<br>
    DefaultTreeModel feuern diese Events automatisch (s. Doku).
    Beim eigenen Model bietet sich an:<br>
    class MyTreeNode extends DefaultMutableTreeNode.
    <p>
    Klau

    Comment

    Working...
    X