Ich habe in meinem Program folgende Methode definiert, die den JTree bei änderung aktualisieren soll, und den jTree3 aus der Gui mit meinem überschreibt.
Wenn ich meine Anwendung starte läuft die Methode auch problemlos durch, doch wenn ich bei Laufzeit ein element hinzufüge und die Methode aufrufe, wird zwar die for-Schleife richtig durchlaufen (also einmal mehr als vorher) jedoch werden die änderungen nicht angezeigt, sondern erst nachdem ich in den jTree hineincklicke.
Jetzt weiß ich das reload() die jTree anzeige eignentlich aktualisieren sollte, jedoch wenn ich sie "entkommentiere" wird der tree nicht mehr als expanded angezeigt, egal ob ich vor der for-Schleife reloade oder danach.
Ich wäre für nen Hint sehr dankbar, da ich jetzt schon einige Zeit versuche meine Anzeige bei Laufzeit automatisch zu aktualisieren.
Wenn ich meine Anwendung starte läuft die Methode auch problemlos durch, doch wenn ich bei Laufzeit ein element hinzufüge und die Methode aufrufe, wird zwar die for-Schleife richtig durchlaufen (also einmal mehr als vorher) jedoch werden die änderungen nicht angezeigt, sondern erst nachdem ich in den jTree hineincklicke.
Jetzt weiß ich das reload() die jTree anzeige eignentlich aktualisieren sollte, jedoch wenn ich sie "entkommentiere" wird der tree nicht mehr als expanded angezeigt, egal ob ich vor der for-Schleife reloade oder danach.
Ich wäre für nen Hint sehr dankbar, da ich jetzt schon einige Zeit versuche meine Anzeige bei Laufzeit automatisch zu aktualisieren.
Code:
private void TreeErsetzen(){
myTree = new OBDComponentManagerTree(rootNode);
ComponentManagerModel = new DefaultTreeModel(rootNode);
myTree.setModel(ComponentManagerModel);
myTree.setRootVisible(false);
myTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
render = new OBDComponentManagerTreeRenderer();
myTree.setCellRenderer(render);
for (int i = 0; i < myTree.getRowCount(); i++) {
myTree.expandRow(i);
System.out.println("row "+i+" expanded");
}
//ComponentManagerModel.reload();
jTree3 = myTree;
}