GUI wird nicht richtig aktualisiert

Status
Nicht offen für weitere Antworten.

RelictMarauder

Neues Mitglied
Hallo!

Habe folgendes Problem. Habe ein kleines Programm geschrieben (s. Quellcode). Bei jedem Buttonklick soll dem JTree im Hauptfenster ein neuer Knoten hinzugefügt werden. Allerdings aktualisiert sich die GUI nicht richtig, obwohl ich repaint() aufgerufen habe.

Sitze jetzt schon länger an diesem Problem und finde keine Lösung. Vielleicht könnt ihr mir helfen :).

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;


public class Main extends JFrame implements ActionListener{

	private JTree tree;
	private JButton button;
	private DefaultMutableTreeNode wurzel;
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		new Main();
	}
	
	public Main() {
		super("Testprogramm");
		createAndShowGUI();
	}

	public void createAndShowGUI(){
		this.setSize(300,300);
		button = new JButton("Node hinzufügen");
		button.addActionListener(this);
		this.getContentPane().add(button,BorderLayout.SOUTH);
		
		wurzel = new DefaultMutableTreeNode("Wurzel");
		DefaultMutableTreeNode node = new DefaultMutableTreeNode("Knoten");
	        wurzel.add(node);
		tree = new JTree(wurzel);
		
		this.getContentPane().add(tree,BorderLayout.CENTER);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
	}
	
	public void actionPerformed(ActionEvent e) {
		DefaultMutableTreeNode node = new DefaultMutableTreeNode("Knoten");
		wurzel.add(node);
		this.repaint();
	}

}
 
S

SlaterB

Gast
ein einzelner Node ist ein Dummy-Objekt, der sagt dem JTree oder dessen Model nicht Bescheid
und diese höheren Swing-/ bzw. Kontrollstrukturen schauen auch nicht bei jedem repaint() den ganzen Node-Baum nach Änderungen durch

ein böser Hack wäre:
((DefaultTreeModel)tree.getModel()).nodeStructureChanged(wurzel);

besser aber den Node mit Hilfe des Models einfügen:
treeModel.insertNodeInto(childNode, parent, parent.getChildCount());


siehe Betriebsanleitung (wie kann man mit etwas ohne Anleitung arbeiten?..)
http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html#dynamic
 

Quaxli

Top Contributor
JTree hat keine Methode add(DefaultMutableTreeNode). Sieht man sofort wenn man in die API guckt ;) Deine add-Methode ist von Container geerbt...
In der API ist auch ein Link "How to use Trees" und einer der Punkt in diesem Tutorial ist, wie man Trees dynamisch ändert - genau was Du brauchst.
 
S

SlaterB

Gast
> Tja, Slater war schneller

und auch noch richtiger ;)
denn das add wurde schon halbwegs sinnvoll an der wurzel aufgerufen, nicht am JTree
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Telisti Javafx Image wird nicht richtig integiert AWT, Swing, JavaFX & SWT 8
zhermann FX Label text wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 12
D JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 1
X JavaFX AreaChart area höhe wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 2
A Swing Zeichnung wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 4
I Neues JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 5
V JFrame wird nicht richtig angezeigt! AWT, Swing, JavaFX & SWT 2
H UpdatePolicy wird nicht richtig gesetzt / funktioniert nicht AWT, Swing, JavaFX & SWT 5
F AWT Grafik wird nicht richtig aktualisiert AWT, Swing, JavaFX & SWT 2
X LayoutManager gridBagLayout wird nicht richtig Dargestellt AWT, Swing, JavaFX & SWT 5
S AWT Schiffeversenken-Koordinatensystem wird nicht richtig angezeigt. AWT, Swing, JavaFX & SWT 6
G Composite - Rand wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 3
D jTable ausdrucken => € zeichen wird nicht richtig angezei AWT, Swing, JavaFX & SWT 7
S JDesktopPane wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 3
G JEditorPane | Homepage wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 8
L Panel wird nicht richtig neu gezeichnet AWT, Swing, JavaFX & SWT 8
I Hilfe - Das Frame wird überhaupt nicht richtig angezeigt! AWT, Swing, JavaFX & SWT 3
T JMenuBar wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 5
P Methode wird nicht überprüft AWT, Swing, JavaFX & SWT 4
P JTextField wird nur sehr klein angezeigt und verändert die Größe nicht AWT, Swing, JavaFX & SWT 3
J Netbeans die JavaFX-Anwendung wird nicht ausgeführt AWT, Swing, JavaFX & SWT 16
N €-Zeichen wird nicht akzeptiert AWT, Swing, JavaFX & SWT 4
_user_q Objekt.setSelected(false), wenn es nicht mehr fokussiert wird AWT, Swing, JavaFX & SWT 2
S Javafx getResource-Pfad wird nicht erkannt AWT, Swing, JavaFX & SWT 7
ProggersWorld JavaFX TextArea BackgroundImage wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
M Bild wird nicht geladen obwohl sie gefunden wird AWT, Swing, JavaFX & SWT 0
M Nach Export als Runnable Jar wird css nicht merh gefunden AWT, Swing, JavaFX & SWT 22
izoards Outlook Mail erstellen - Signatur wird nicht angezeigt. AWT, Swing, JavaFX & SWT 3
J actionperformed wird nicht aufgerufen/ repaint() AWT, Swing, JavaFX & SWT 6
J Java FX NullPointerException, ObservableList wird in View nicht angezeigt.. AWT, Swing, JavaFX & SWT 34
S Next_Button wird nicht ausgeführt. AWT, Swing, JavaFX & SWT 6
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
J Swing JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
JojoSand Java Programm wird nicht gestartet - keinen Fehlerhinweis AWT, Swing, JavaFX & SWT 9
R Text vom Jlabel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
D JavaFX Bearbeitetes Bild wird nicht gespeichert AWT, Swing, JavaFX & SWT 9
J setOnCloseRequest wird nicht ausgelöst AWT, Swing, JavaFX & SWT 3
P JavaFX Fenster wird nicht angezeigt (Mac) AWT, Swing, JavaFX & SWT 13
B JavaFX Bei Scenen-Wechsel im primaryStage wird aktuelle Fenstergröße nicht mit übernommen AWT, Swing, JavaFX & SWT 16
M JavaFX javaFX Label-Text wird nicht gesetzt AWT, Swing, JavaFX & SWT 3
O Swing "Eigenes" JPanel wird dem JScrollPane nicht hinzugefügt AWT, Swing, JavaFX & SWT 5
R Layout Manager null und Component wird nicht hinzugefügt AWT, Swing, JavaFX & SWT 3
Zrebna JavaFX-Projekt mit Bildern funktioniert nicht - um Hilfe wird gebeten AWT, Swing, JavaFX & SWT 14
kodela BufferStrategy wird nicht gefunden AWT, Swing, JavaFX & SWT 5
J JPanel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
S ImageView wird dem Gridpane nicht zugefügt AWT, Swing, JavaFX & SWT 1
G Repaint wird nicht durchgeführt AWT, Swing, JavaFX & SWT 8
S Swing Panel wird nicht neu gezeichnet AWT, Swing, JavaFX & SWT 3
Bluedaishi TableView mit Combox wert wird nicht in die TableView gesetzt AWT, Swing, JavaFX & SWT 38
kodela Swing Letzte Änderung in der Tabelle wird nicht gespeichert AWT, Swing, JavaFX & SWT 5
cool_brivk24 AWT BufferedImage wird nicht geladen AWT, Swing, JavaFX & SWT 17
FRI3ND GUI wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
J Canvas wird nicht angezeigt AWT, Swing, JavaFX & SWT 10
K Swing JScrollPane wird nicht angezeigt wenn man Components darstellt. AWT, Swing, JavaFX & SWT 2
B JavaFX Text wird nicht angezeigt, kein Fehler AWT, Swing, JavaFX & SWT 2
J Aus welchen Grund wird der Button nicht angezeigt im GridPane? AWT, Swing, JavaFX & SWT 1
J MouseListener wird nicht ausgeführt. AWT, Swing, JavaFX & SWT 4
E Swing Liste in Scrollpane wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
T Label wird nicht angezeigt AWT, Swing, JavaFX & SWT 4
DaCrazyJavaExpert Swing JPanel "ContentPane" wird nicht gesetzt/angezeigt AWT, Swing, JavaFX & SWT 16
zhermann TableView wird nicht gefüllt AWT, Swing, JavaFX & SWT 14
it_is_all Warum wird die JTable im JDialog nicht angezeigt? AWT, Swing, JavaFX & SWT 1
zhermann JavaFX Main App wird nicht geöffnet AWT, Swing, JavaFX & SWT 6
Naxon89 JavaFX Image wird nicht korrekt geladen AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing Größe des JPanel ändern/wird nicht geändert. AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing JPanel wird in JScollPane nicht angezeigt AWT, Swing, JavaFX & SWT 2
MaxG. JavaFX Inhalt in Tableview wird nicht angezeigt AWT, Swing, JavaFX & SWT 11
A Swing Tabelle wird bei Betätigung des Button nicht befüllt AWT, Swing, JavaFX & SWT 17
T Default Table wird nicht angezeigt AWT, Swing, JavaFX & SWT 15
H Musik wird nach dem erstellen der .jar Datei nicht mehr abgespielt AWT, Swing, JavaFX & SWT 1
K JavaFX Stage wird nicht angezeigt AWT, Swing, JavaFX & SWT 9
B JTable wird nicht angezeigt AWT, Swing, JavaFX & SWT 1
A Swing Bild wird nicht mehr geladen AWT, Swing, JavaFX & SWT 4
D iText PDF wird nach Neustart nicht importiert AWT, Swing, JavaFX & SWT 0
S Swing Konstruktor wird nicht rechtzeitig fertig? AWT, Swing, JavaFX & SWT 4
J 2D-Grafik Linie wird nach Mausklick nicht am richtigen Ort gezeichnet AWT, Swing, JavaFX & SWT 11
C Liste - ListView wird nicht angezeigt AWT, Swing, JavaFX & SWT 15
B HBox wird nicht im Bottom angezeigt AWT, Swing, JavaFX & SWT 8
T Swing JTable wird nicht angezeigt AWT, Swing, JavaFX & SWT 4
J GUI wird nicht angezeigt AWT, Swing, JavaFX & SWT 17
L JavaFX Node wird nicht korrekt angezeigt AWT, Swing, JavaFX & SWT 7
M Hintergrundbild wird nicht angezeigt AWT, Swing, JavaFX & SWT 1
M JavaFX Scene wird nicht angezeigt AWT, Swing, JavaFX & SWT 4
A 2D-Grafik Bild wird nicht neu gezeichnet AWT, Swing, JavaFX & SWT 24
H Button in GridPane wird nicht angenommen AWT, Swing, JavaFX & SWT 3
M AWT Panel wird nicht angezeigt AWT, Swing, JavaFX & SWT 7
T JLabel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
V JavaFX Media wird aus der Jar nicht geladen AWT, Swing, JavaFX & SWT 0
L ImageIcon auf JPanel wird nicht angezeigt(keiner Fehlermeldung) AWT, Swing, JavaFX & SWT 11
C Swing JButton wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
T JTextField Array im JPanel wird nicht komplett angezeigt AWT, Swing, JavaFX & SWT 7
A SWT ScrolledComposite wird nicht angezeigt AWT, Swing, JavaFX & SWT 0
T Swing Image wird nicht geladen AWT, Swing, JavaFX & SWT 1
D PaintComponent wird nicht aufgerufen AWT, Swing, JavaFX & SWT 3
L Swing Frame in Thread wird nicht gezeichnet AWT, Swing, JavaFX & SWT 2
G JTextArea mit JScrollPane wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
M Button wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
Z Wird die Variable nicht übergeben ? AWT, Swing, JavaFX & SWT 16
D PingPongBall wird nicht angezeigt AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen


Oben