JTree / problem / graphikfehler

Status
Nicht offen für weitere Antworten.
S

Solour.

Gast
hey,

ich habe da ein kleines problem mit mienem JTree, er macht halt so grafikfehler und zeigt nicht alle elemente an
n1.png

doppelklick auf machines
n2.png

doppelklick auf 1
n3.png

doppelklick auf 3
n4.png

doppelklick auf 0
n5.png

klick auf 1
n6.png

src1
src2

output:
1
3
0
1

laut debugger sind alle elemente vorhanden (inclusive der zwei nullen die an der 3 hängen müssten nach dem letzten klick)

falls jemand ne idee hat was ich falsch mache, bitte immer her damit...

bye

hier nochmal der code:
Code:
package main;

import java.awt.GridLayout;

import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;

public class MainFrame extends JFrame {
	private static final long serialVersionUID = 9139820656652675733L;

	private JPanel lowerArea = new JPanel();
	private DefaultMutableTreeNode treeRoot = new DefaultMutableTreeNode(
			"Machines");
	private JTree tree = new JTree(treeRoot);

	public MainFrame() {
		initComponents();
	}

	private void initComponents() {
		this.getContentPane().add(lowerArea);
		lowerArea.setLayout(new GridLayout(1, 0, 10, 10));
		lowerArea.add(tree);
		this.setBounds(100, 100, 200, 200);
		DefaultMutableTreeNode prev = treeRoot;
		Integer a1 = new Integer(1);
		Integer a2 = new Integer(2);
		Integer a3 = new Integer(3);
		DefaultMutableTreeNode tn1 = new DefaultMutableTreeNode();
		DefaultMutableTreeNode tn2 = new DefaultMutableTreeNode();
		DefaultMutableTreeNode tn3 = new DefaultMutableTreeNode();
		tn1.setUserObject(a1);
		tn2.setUserObject(a2);
		tn3.setUserObject(a3);
		prev.add(tn1);		
		tn1.add(tn3);
		prev.add(tn2);		

		ToolTipManager.sharedInstance().registerComponent(tree);
		tree.setRootVisible(true);
		tree.addTreeSelectionListener(new TreeSelectionListener() {
			public void valueChanged(TreeSelectionEvent evt) {
				tree_valueChanged(evt);
			}
		});
	}

	private void tree_valueChanged(TreeSelectionEvent evt) {
		DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree
				.getLastSelectedPathComponent();
		if (node == null)
			return;
		if (node.getUserObject().getClass().equals(Integer.class)) {
			System.out.println(node.getUserObject());
			DefaultMutableTreeNode tn = new DefaultMutableTreeNode();
			tn.setUserObject(new Integer(0));
			node.add(tn);
		}
	}
}
 
R

Roar

Gast
und wo ist jetzt der darstellungsfehler? der code verhält sich doch korrekt: die unterknoten werden erst einem knoten angehängt, wenn man auf ihn klickt, darum werden bei manchen auch keine ordner sondenr knöppe darsgestellt, weil sie zu dem zeitpunkt noch keine unterknoten haben. war das dein problem oder was nu?
 

Solour

Aktives Mitglied
habe zwar leider keine erklärung aber jetzt geht es hiermit, falls also jemand ne erklärung hat :p
Code:
package main;

import java.awt.GridLayout;

import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;

public class MainFrame extends JFrame {
	private static final long serialVersionUID = 9139820656652675733L;

	private JPanel lowerArea = new JPanel();
	private DefaultMutableTreeNode treeRoot = new DefaultMutableTreeNode(
			"Machines");
	private JTree tree = new JTree(treeRoot);
	private DefaultTreeModel tm= new DefaultTreeModel(treeRoot);

	public MainFrame() {
		initComponents();
	}

	private void initComponents() {
		this.getContentPane().add(lowerArea);
		lowerArea.setLayout(new GridLayout(1, 0, 10, 10));
		lowerArea.add(tree);
		this.setBounds(100, 100, 200, 200);
		DefaultMutableTreeNode prev = treeRoot;
		Integer a1 = new Integer(1);
		Integer a2 = new Integer(2);
		Integer a3 = new Integer(3);
		DefaultMutableTreeNode tn1 = new DefaultMutableTreeNode();
		DefaultMutableTreeNode tn2 = new DefaultMutableTreeNode();
		DefaultMutableTreeNode tn3 = new DefaultMutableTreeNode();
		tn1.setUserObject(a1);
		tn2.setUserObject(a2);
		tn3.setUserObject(a3);
		prev.add(tn1);
		tn1.add(tn3);
		prev.add(tn2);

		ToolTipManager.sharedInstance().registerComponent(tree);
		tree.setRootVisible(true);
		tree.addTreeSelectionListener(new TreeSelectionListener() {
			public void valueChanged(TreeSelectionEvent evt) {
				tree_valueChanged(evt);
			}
		});
	}

	private void tree_valueChanged(TreeSelectionEvent evt) {
		DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree
				.getLastSelectedPathComponent();
		if (node == null)
			return;
		if (node.getUserObject().getClass().equals(Integer.class)) {
			DefaultMutableTreeNode tn = new DefaultMutableTreeNode();
			tn.setUserObject(new Integer(0));
			node.add(tn);
			tm.nodeStructureChanged(node.getParent());
			System.out.println(node.getUserObject()+" / "+node.getChildCount());			
			tree.setModel(tm);
		}
	}
}
 

Solour

Aktives Mitglied
hübscher ist es natürlich so,
so muss man sich nicht ums expanden danach kümmern

hierbei wird die newNode an die node rangehangen
Code:
((DefaultTreeModel) tree.getModel())
.insertNodeInto(newNode, node, node.getChildCount());
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Swing JTree Problem beim erstellen der Knoten AWT, Swing, JavaFX & SWT 0
RELAXccc Swing JTree + JScrollPane, refresh Problem AWT, Swing, JavaFX & SWT 17
R Swing XML Datei in JTree, Problem mit Daten einlesen AWT, Swing, JavaFX & SWT 34
B Swing JTree traverse Problem AWT, Swing, JavaFX & SWT 2
T Dynamic JTree: File System Problem AWT, Swing, JavaFX & SWT 2
G JTree Problem: Null Child not allowed AWT, Swing, JavaFX & SWT 12
H JTree Nullpointer Problem AWT, Swing, JavaFX & SWT 4
S JTree Design Problem AWT, Swing, JavaFX & SWT 5
G Problem mit JTree AWT, Swing, JavaFX & SWT 7
Lazybone JTree refresh Problem AWT, Swing, JavaFX & SWT 3
I JTree und JCheckbox Problem AWT, Swing, JavaFX & SWT 4
S JTree Problem AWT, Swing, JavaFX & SWT 8
L Problem mit der aktualisierung von JTree und Text Area AWT, Swing, JavaFX & SWT 22
G JTree mit Checkboxen und Problem mit isSelected() AWT, Swing, JavaFX & SWT 2
S Problem mit JTree AWT, Swing, JavaFX & SWT 3
D Layout Problem / JTree und JPanel AWT, Swing, JavaFX & SWT 4
S ClassCast-Problem im JTree AWT, Swing, JavaFX & SWT 2
Z immer Problem mit Eingabe durch JTextField und JTree AWT, Swing, JavaFX & SWT 7
EagleEye JTree Node löschen Problem AWT, Swing, JavaFX & SWT 4
P Problem mit JTree AWT, Swing, JavaFX & SWT 10
J JTree (TreeSelectionListener) Problem AWT, Swing, JavaFX & SWT 2
M Problem mit JTree-Darstellung AWT, Swing, JavaFX & SWT 5
A JTree Problem mit Focus bzw. Selection AWT, Swing, JavaFX & SWT 5
G Jtree problem AWT, Swing, JavaFX & SWT 4
V JTree Children Ausgabe Problem AWT, Swing, JavaFX & SWT 2
FrittenFritze JTree, LazyLoading und "Rückwärtstraversion" AWT, Swing, JavaFX & SWT 3
J Falsches Rendern durch JCheckBox in eigenem JTree AWT, Swing, JavaFX & SWT 6
F jTree und das Model aus einer eigenen Klasse AWT, Swing, JavaFX & SWT 1
F Jtree aus Klasse mit Arraylisten AWT, Swing, JavaFX & SWT 1
A Swing JList zu JTree AWT, Swing, JavaFX & SWT 11
richis-fragen JTree +/- verschwidet wenn Knoten keine Kinder hat... AWT, Swing, JavaFX & SWT 6
RalleYTN Modaler Dialog und JTree Node mit sehr... seeeeehr vielen Elementen AWT, Swing, JavaFX & SWT 6
Z Swing JTree DefaultMultipleTreeNode Repräsentation ändern AWT, Swing, JavaFX & SWT 1
Z Swing Drag&Drop zwischen JTable und JTree AWT, Swing, JavaFX & SWT 4
W Swing Anzeigefehler bei JTree AWT, Swing, JavaFX & SWT 1
S Zwei JTree, ein Model, bei Selection im ersten JTree soll der zweite die Inhlate anzeigen AWT, Swing, JavaFX & SWT 2
S JRadioButton und JCheckBox im JTree AWT, Swing, JavaFX & SWT 14
H Swing JTree: Zählt der rootNode mit? AWT, Swing, JavaFX & SWT 2
krgewb Swing JTree - Farbe von nodes ändern AWT, Swing, JavaFX & SWT 4
R JTree behandeln AWT, Swing, JavaFX & SWT 2
E Swing Copy und Paste eines einzelnen Knoten aus einem JTree AWT, Swing, JavaFX & SWT 1
U dynamisches JTree erstellen AWT, Swing, JavaFX & SWT 2
J JTree updaten AWT, Swing, JavaFX & SWT 2
H JTree in JScrollPane passt sich nicht an Größe von JPanel an AWT, Swing, JavaFX & SWT 2
T Swing API Frage zu Verzeichnisbäumen und JTree AWT, Swing, JavaFX & SWT 1
T JTree mit Symbolen? AWT, Swing, JavaFX & SWT 8
R Anfängerfrage: Ansichten des JTree AWT, Swing, JavaFX & SWT 1
H Swing JTree Minimumgröße AWT, Swing, JavaFX & SWT 2
F Swing JTree + DiffUtils // Markierung Nodes aufheben AWT, Swing, JavaFX & SWT 2
I JTree wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
M Swing JTree AWT, Swing, JavaFX & SWT 4
M Nodes in JTree nicht anzeigen AWT, Swing, JavaFX & SWT 0
T JTree mit Cloud verbinden AWT, Swing, JavaFX & SWT 0
H JTree Probleme AWT, Swing, JavaFX & SWT 9
F Swing Drag and Drop in JTree aus verschiedenen Listen AWT, Swing, JavaFX & SWT 6
M JButton wird von JTree überdeckt AWT, Swing, JavaFX & SWT 4
J Auf Dateien in JTree zugreifen AWT, Swing, JavaFX & SWT 15
F jTree.startEditingAtPath(path); funktioniert nicht bei eigenem CellEditor? AWT, Swing, JavaFX & SWT 8
D Swing JTree Steuerung AWT, Swing, JavaFX & SWT 11
S Swing JTree verwirrt mich AWT, Swing, JavaFX & SWT 2
T JTree - Elemente mit Doppelklick auswählen AWT, Swing, JavaFX & SWT 6
J JTree speichern AWT, Swing, JavaFX & SWT 4
N Swing JTree TreeCellRenderer mit html und automatischen Zeilenumbruch AWT, Swing, JavaFX & SWT 8
O Swing JTree um Label (oder Panel) erweitern AWT, Swing, JavaFX & SWT 9
T JTree, Knoten mehrmals verwenden AWT, Swing, JavaFX & SWT 5
B JTree mit Ordneransicht in JPanel einbinden AWT, Swing, JavaFX & SWT 4
D JTree node reagiert bei Klick nicht immer AWT, Swing, JavaFX & SWT 2
M Swing JTree: Wie kann ich die Hintergrundfarbe der selection ändern?!?! AWT, Swing, JavaFX & SWT 7
D Mehrmals auf Node im JTree klicken AWT, Swing, JavaFX & SWT 2
D JSplitPane, Jtree, CardLayout (constraint must be a string) AWT, Swing, JavaFX & SWT 9
N Swing FileFilter lässt JTree sich nicht öffnen AWT, Swing, JavaFX & SWT 2
X Swing 2 TreeModel und ein JTree synchronisieren AWT, Swing, JavaFX & SWT 3
N Swing JTree TreePath zu Windows Pfad? AWT, Swing, JavaFX & SWT 2
X Swing JTree aktualisieren AWT, Swing, JavaFX & SWT 2
V Swing JTree - Umbenennen selbst handlen. AWT, Swing, JavaFX & SWT 2
E Übergebenem JTree Blätter hinzufügen AWT, Swing, JavaFX & SWT 2
E Wert eines selektierten Knotens in einem JTree auslesen AWT, Swing, JavaFX & SWT 3
A Swing JTree - Nodes expanden AWT, Swing, JavaFX & SWT 2
D JTree nach Klick auf einen Hyperlink aktualisieren AWT, Swing, JavaFX & SWT 3
B JTree AWT, Swing, JavaFX & SWT 9
T Menüacceleratoren verschwinden bei JTree AWT, Swing, JavaFX & SWT 5
1 Swing JTree collapse child nodes AWT, Swing, JavaFX & SWT 4
B JTree - sehr individuell AWT, Swing, JavaFX & SWT 3
G Swing JTree - Verbindungslinien entfernen AWT, Swing, JavaFX & SWT 4
A Swing Herausfinden ob bei JTree Klick auf "+"/"-" anahnd x,y AWT, Swing, JavaFX & SWT 2
S Swing JTree und seine Listener... AWT, Swing, JavaFX & SWT 4
L Swing JTree wird nicht selektiert AWT, Swing, JavaFX & SWT 2
P [JTree] Markierhilfe der Drop-Location selber gestalten. AWT, Swing, JavaFX & SWT 4
A JTree aus Pfaden erzeugen AWT, Swing, JavaFX & SWT 3
K Swing Hilfe beim JTree! AWT, Swing, JavaFX & SWT 3
X Datensätze in JTree AWT, Swing, JavaFX & SWT 2
L Update JTree Verzeichnisse AWT, Swing, JavaFX & SWT 9
E JTree Auswahl AWT, Swing, JavaFX & SWT 2
K JTree width der Treenodes auf 100% AWT, Swing, JavaFX & SWT 6
C JTree LastSelectedPathComponent benutzen? AWT, Swing, JavaFX & SWT 3
S Swing JTree Node Text nicht richtig angezeigt AWT, Swing, JavaFX & SWT 2
Landei Swing JTree mit "Tabellenzeilen"? AWT, Swing, JavaFX & SWT 5
Rudolf Swing JTree Node anhand vom Namen finden AWT, Swing, JavaFX & SWT 4
S JTree Elemente nach BaumLevel abspeichern AWT, Swing, JavaFX & SWT 2
Z JTree rootChilds AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben