Aktualisieren von JTree in Java-GUI

8

Ich habe ein JTree in meiner GUI verwendet und es zu einem JFrame hinzugefügt. Wenn ich es aktualisieren und seine Knoten in einem anderen Teil meines Programms ändern möchte (während das Programm läuft, während eine Aktion ausgeführt wird), versuche ich neue Knoten hinzuzufügen oder Knoten zu entfernen; Aber meine Schnittstelle ändert sich nicht. Bitte schlagen Sie mir eine Lösung vor.

Grüße

    
sajad 29.09.2010, 12:59
quelle

3 Antworten

15

Zusätzlich zu dem insertNodeInto-Vorschlag können Sie auch Folgendes verwenden:

%Vor%     
camickr 29.09.2010, 16:43
quelle
2

Sie müssen sicherstellen, dass Sie nach dem Aktualisieren Ihres Modells ein Ereignis auslösen, das dazu führt, dass registrierte Listener über das Ereignis benachrichtigt werden. Einer der Listener wird der JTree sein und beim Empfang des Events wird er neu streichen.

Zum Beispiel enthält DefaultTreeModel die Methoden :

nodeChanged nodesChanged nodeStructureChanged nodesWereInserted nodesWereRemoved

Wie bei allen Swing-Programmen müssen Sie auch sicherstellen, dass Sie Ihr Modell im Event Dispatch Thread aktualisieren.

    
Adamski 29.09.2010 13:04
quelle
-1

Meinst du, der GUI-Aspekt zeigt gerade nicht deine Veränderung an? Sie sollten wahrscheinlich int repaint() und revalidate().

suchen

Hier ist eine gute Beschreibung, wann man welche anrufen soll.

    
Bryan 29.09.2010 16:48
quelle

Tags und Links