Swing TreeModel reload nur scheinbar

Oldboii

Mitglied
Jetzt hab ich ein neues refresh Problem. Ich möchte das TreeModel per Button klick reloaden.
Meine TreeModel Struktur baut auf Daten aus meiner DB auf, wenn sich diese ändern, soll durch den
Buttonklick die Struktur angepasst werden. (gleich vorweg es liegt nicht an der Datenbeschaffung aus der DB, starte ich mein Programm nochmal hat sich die Struktur angepasst)

Java:
private DefaultMutableTreeNode root;
	private DefaultTreeModel jTreeModel;
...
Java:
private JTree getJTree() {
		if (jTree == null) {
			TreeStructure();
			jTree = new JTree(jTreeModel);
			jTree.setEditable(false);
}
		return jTree;
	}

... jetzt meine Methode für die Struktur (übrigens die schöne Methode hab ich irgendwo
von Ebenius gesehen und geklaut thx) :D

Java:
private void TreeStructure(){
		tobj.ObjektAbfrage();
		root = new DefaultMutableTreeNode(
				"Root");
		Stack<DefaultMutableTreeNode> stack = new Stack<DefaultMutableTreeNode>();
		for (String[] row : tobj.flatData) {
			// Den Stack an Level anpassen
			Iterator<DefaultMutableTreeNode> stackIt = stack
					.iterator();
			for (int level = 0; level < row.length && stackIt.hasNext(); level++) {
				if (!stackIt.next().getUserObject().equals(row[level])) {
					stack.setSize(level);
					break;
				}
			}
			// Wiederaufbau des stacks
			for (int level = stack.size(); level < row.length; level++) {
				String s = row[level];
				DefaultMutableTreeNode child = new DefaultMutableTreeNode(
						s);
				(stack.isEmpty() ? root : stack.peek()).add(child);
				stack.push(child);
			}
		}
		jTreeModel = new DefaultTreeModel(root);
	}

... und der Refresh Button

Java:
jBrefresh.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					tobj.flatData.clear();
					TreeStructure();
					jTreeModel.nodeStructureChanged(root);
					((DefaultTreeModel)jTree.getModel()).reload(root);
					jTree.repaint();
				}
			});

Ich schätze irgendwo gibts nen Haken an meiner Implementierung, so dass das DefaultModel
zwar neu geladen wird aber mit dem gleichen Inhalt?! Ich verstehs nicht ???:L
 
Zuletzt bearbeitet:

Michael...

Top Contributor
Wenn Du sowieso ein neues TreeModel erstellst, warum übergibt's Du es nicht per setModel(neuesTreeModel) an den JTree, der müsste sich danach von alleine aktualisieren.
 

Oldboii

Mitglied
oh man Michael.. du bist schon wieder meine Rettung :oops:
vielen vielen Dank, hab eben schon wieder den Wald vor lauter Bäumen nicht gesehen.
Hoffentlich meine letzte Hilfeanfrage für länger :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Swing 2 TreeModel und ein JTree synchronisieren AWT, Swing, JavaFX & SWT 3
O JTree/TreeModel/DefaultMutableTreeNodes thread safe machen AWT, Swing, JavaFX & SWT 3
C Swing JTree und TreeModel AWT, Swing, JavaFX & SWT 15
S JTree mit Daten aus Model füllen, eigenes TreeModel (gute Dokumentation des Problems) AWT, Swing, JavaFX & SWT 2
M JTree und TreeModel mit 2 Klassen AWT, Swing, JavaFX & SWT 3
D Darstellungsproblem des eigenen TreeModel bei Veränderungen AWT, Swing, JavaFX & SWT 7
T JTree - TreeModel AWT, Swing, JavaFX & SWT 3
B JTree & Treemodel AWT, Swing, JavaFX & SWT 3
J JTree/TreeModel add/delete Methoden AWT, Swing, JavaFX & SWT 2
H JTree und TreeModel AWT, Swing, JavaFX & SWT 4
M Wie einen JTable editierbar machen (mit eigenem TreeModel) AWT, Swing, JavaFX & SWT 2
C TreeModel zu langsam für EventDispatchThread AWT, Swing, JavaFX & SWT 5
T TreeModel: Ändern der Folderanzeige AWT, Swing, JavaFX & SWT 3
A (Default)TreeModel und wie die Daten hinein bekommen AWT, Swing, JavaFX & SWT 5
T Swing Reload JPanel + darin liegende ProgressBar AWT, Swing, JavaFX & SWT 9
Tort-E JavaFX Stage reload, refresh ... AWT, Swing, JavaFX & SWT 3
F JTree reload will nicht so wie ich will. AWT, Swing, JavaFX & SWT 4
E Reload JTree AWT, Swing, JavaFX & SWT 2
N java Gui friert scheinbar zufällig ein AWT, Swing, JavaFX & SWT 5
hdi SWT FileDialog wird an scheinbar beliebiger Position angezeigt AWT, Swing, JavaFX & SWT 2
E Swing-Gui hängt scheinbar AWT, Swing, JavaFX & SWT 14
J Scheinbar blockiert Swing bei JTree, was mach ich falsch? AWT, Swing, JavaFX & SWT 7
O Graphics erstellt Componente scheinbar nicht richtig AWT, Swing, JavaFX & SWT 23

Ähnliche Java Themen


Oben