S
Smeagollum
Gast
Hi, ich hab ein kleines Problem mit einem JTree... ich möchte gerne, dass wenn ein bestimmtes ereignis eintritt (in meinem Fall das aufrufen eines Threads) mein ganzer JTree einfach neu gezeichnet wird (mach ich der einfachheit wegen, ich weiß dass es auch anders geht aber egal).
Also immer wenn mein Thread z.b. 10000ms erreicht hat, soll im ContentPane dieser Tree komplett neu gezeichnet werden (wird aus dem cP herausgeworfen und einfach neu hinzugefügt...). Achja und es ist nicht direkt der Tree sondern der Tree liegt in einem Panel (mir hat ein Kumpel gesagt das ist besser wegen dem doublebuffered usw., keine ahnung) Das funktioniert aber leider nicht, der Tree ist dann einfach ganz weg, woran könnte das liegen, was mach ich falsch?
Repaint und updateUI funktionieren auch alle nicht...
Dankeschön schonmal für die Antworten!!
Greetz
Mit daten füllen, initialisiern usw. erfolgt schon vorher
Also immer wenn mein Thread z.b. 10000ms erreicht hat, soll im ContentPane dieser Tree komplett neu gezeichnet werden (wird aus dem cP herausgeworfen und einfach neu hinzugefügt...). Achja und es ist nicht direkt der Tree sondern der Tree liegt in einem Panel (mir hat ein Kumpel gesagt das ist besser wegen dem doublebuffered usw., keine ahnung) Das funktioniert aber leider nicht, der Tree ist dann einfach ganz weg, woran könnte das liegen, was mach ich falsch?
Repaint und updateUI funktionieren auch alle nicht...
Dankeschön schonmal für die Antworten!!
Greetz
Code:
public void updateTree() {
cnt_contentPane.remove(pan_tree);
pan_tree = new JPanel();
pan_tree.setLayout(null);
pan_tree.setBounds(5,(int) (jsp_seperator.getLocation().getY()+3),dim_Dimension.width-5,dim_Dimension.height-5);
pan_tree.add(jtr_tree);
pan_tree.setVisible(true);
jtr_tree.updateUI();
pan_tree.updateUI();
cnt_contentPane.add(pan_tree);
cnt_contentPane.repaint();
}
Mit daten füllen, initialisiern usw. erfolgt schon vorher