Verständnisproblem --> JTree

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hall zusammen,

ich habe mal einen kleinen Code zur Verständnisfrage geschrieben.

Code:

Code:
...
public Tree_3()
	{
		gui();
	}
	
	public void gui()
	{
		
		c = getContentPane();
		panel1 = new JPanel();
		c.add(panel1);
		
			DefaultMutableTreeNode root = new DefaultMutableTreeNode("C:");
			
				DefaultMutableTreeNode rootChild_1 = new DefaultMutableTreeNode("PKW");
				DefaultMutableTreeNode rootChild_2 = new DefaultMutableTreeNode("LKW");
				DefaultMutableTreeNode rootChild_3 = new DefaultMutableTreeNode("Motorrad");
				
					DefaultMutableTreeNode leaf_1 = new DefaultMutableTreeNode("Audi");
					DefaultMutableTreeNode leaf_2 = new DefaultMutableTreeNode("Porsche");
					DefaultMutableTreeNode leaf_3 = new DefaultMutableTreeNode("Opel");

					DefaultMutableTreeNode leaf_4 = new DefaultMutableTreeNode("MAN");
					DefaultMutableTreeNode leaf_5 = new DefaultMutableTreeNode("MAN_1");
					DefaultMutableTreeNode leaf_6 = new DefaultMutableTreeNode("MAN_2");

					DefaultMutableTreeNode leaf_7 = new DefaultMutableTreeNode("Kawasaki");
					DefaultMutableTreeNode leaf_8 = new DefaultMutableTreeNode("Yamaha");
					DefaultMutableTreeNode leaf_9 = new DefaultMutableTreeNode("Susuki");
					
				rootChild_1.add(leaf_1);
				rootChild_1.add(leaf_2);
				rootChild_1.add(leaf_3);
				
				rootChild_2.add(leaf_4);
				rootChild_2.add(leaf_5);
				rootChild_2.add(leaf_6);

				rootChild_3.add(leaf_7);
				rootChild_3.add(leaf_8);
				rootChild_3.add(leaf_9);
				
			root.add(rootChild_1);
			root.add(rootChild_2);
			root.add(rootChild_3);
			
			MutableTreeNode mtn = root;
			TreeNode treenode = mtn;
			DefaultTreeModel dtm = new DefaultTreeModel(treenode);
			TreeModel treeModel = dtm;
			JTree tree = new JTree(treeModel);
			tree.setRootVisible(true);
			
				sp = new JScrollPane(tree);
				sp.setPreferredSize(new Dimension(260,350));
				
		panel1.add(sp);
		
	}
	
		public static void main(String[] args)
		{
			.....



Wenn ich diesen Codeteil (Teil 1)

Code:
         MutableTreeNode mtn = root;
			TreeNode treenode = mtn;
			DefaultTreeModel dtm = new DefaultTreeModel(treenode);
			TreeModel treeModel = dtm;
			JTree tree = new JTree(treeModel);
			tree.setRootVisible(true);

durch diesen (Teil 2)

Code:
...
         JTree tree = new JTree(root);
			tree.setRootVisible(true);
...

ersetze, wird der Baum genauso angezeigt.

Mein Frage ist nun, warum nicht gleich immer wie in "Teil 2" schreiben.

Welche Vorteile birngt mir der "Teil 1"?

Danke für eure Hilfe

Gast
 
S

SlaterB

Gast
Zeile 5 aus Teil 1 ist offensichtlich völliger Lückenfüller,
ansonsten passieren in Teil 1 und 2 das gleiche, korrekt

Teil 1 bringt hier keinen Vorteil, außer
- dass man das Model direkt als Variable hat, falls man es selber noch ansprechen möchte,
- man sich sicher sein kann, dass es ein DefaultTreeModel ist, wer weiß was der Konstruktor (in verschiedenen Java-Versionen) genau macht

richtig Sinn macht Teil 1 vor allem dann, wenn man ein anderes eigenes Model verwendet
 
S

SlaterB

Gast
man muss kein DefaultTreeModel verwenden, sondern eine beliebige Klasse, auch eine neue selbstgeschriebene, die das TreeModel-Interface implement
 
G

Guest

Gast
und das ist mir immer noch nicht klar. Was verwende ich wann.

Z.B.
man muss kein DefaultTreeModel verwenden

wann und warum verwendet man denn das dann?

Wenn ich eine eigene Klasse erstelle, in der ich das TreeNode-Interface implemetiere, wie
Du sagst, verwende ich es nicht. Benutze ich dann das DefaultTreeModel in der Klasse nicht mehr?

Ist noch etwas verwirrend für mich :autsch:

Danke,

Gast
 
S

SlaterB

Gast
ums TreeNode-Interface gehts gar nicht unbedingt, wobei das auch ein Ersetzungspunkt wäre,
andere Nodes statt MutableTreeNode ;)

ein anderes Model verwendet man genau dann wenn man es für richtig hält,
z.B. wenn die Daten in einer anderen Struktur vorliegen oder erst dynamisch auf Anfrage zusammengestellt werden,
das TreeModel legt sich netterweise nichtmal auf Nodes fest, da kann man auch ganz andere Objekte verwenden,

siehe z.B. das FileTreeModel aus folgendem Beispiel:
http://docstore.mik.ua/orelly/java-ent/jfc/ch03_19.htm

aber das muss man als Anfänger wirklich nicht nachvollziehen
 
G

Guest

Gast
Ok, danke erstmal.

Wie es scheint kommt noch Arbeit auf mich zu. :###

Bis dann,

Gast
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Verständnisproblem bei Server/Client Java Basics - Anfänger-Themen 3
nonickatall Grundsätzliches Verständnisproblem des Aufbaus eines Programms Java Basics - Anfänger-Themen 19
X Verständnisproblem Call-By-Reference Java Basics - Anfänger-Themen 5
P JavaFX: Verständnisproblem bei ComboBox/ChoiceBox etc. Java Basics - Anfänger-Themen 9
T Verständnisproblem mit Assoziationen Java Basics - Anfänger-Themen 7
M Verständnisproblem der Rekursion bei Arrays Java Basics - Anfänger-Themen 8
A Erste Schritte Verständnisproblem Java Basics - Anfänger-Themen 5
S Verständnisproblem Aufgabe Java Basics - Anfänger-Themen 9
S Model View Controller: Verständnisproblem Java Basics - Anfänger-Themen 13
temi Verständnisproblem Class.forName() Java Basics - Anfänger-Themen 3
2 Verständnisproblem bei Anwendung von Lower Bounded Wildcards Java Basics - Anfänger-Themen 5
V Verständnisproblem Java Basics - Anfänger-Themen 22
L [Verständnisproblem] Array wird trotz void rückgabe verändert. Java Basics - Anfänger-Themen 5
A Verständnisproblem Ausgabe Do-While-Schleife Java Basics - Anfänger-Themen 3
J Verständnisproblem einer Methode Java Basics - Anfänger-Themen 20
M Konstruktur - Verständnisproblem Java Basics - Anfänger-Themen 4
C Postinkrement und println - Verständnisproblem Java Basics - Anfänger-Themen 8
T Verständnisproblem beim Vigenere-Verfahren Java Basics - Anfänger-Themen 2
Q MVC Verständnisproblem: Controller vs model.modelChanged() Java Basics - Anfänger-Themen 0
N Verständnisproblem InsertionSort. Java Basics - Anfänger-Themen 2
D Verständnisproblem Java Basics - Anfänger-Themen 2
B VerständnisProblem mit Beispielaufgabe aus Buch Java Basics - Anfänger-Themen 1
H Polymorphie Verständnisproblem Vererbung/Polymorphie Java Basics - Anfänger-Themen 4
FrankR2 Grundsätzliches Verständnisproblem: Java 32/64-bit; Windows 7/8, 32/64-bit-System Java Basics - Anfänger-Themen 5
S Verständnisproblem bei Interfaces Java Basics - Anfänger-Themen 6
V Verständnisproblem Java Basics - Anfänger-Themen 5
V Arrays-verständnisproblem Java Basics - Anfänger-Themen 4
M Collections HashSet verständnisproblem Java Basics - Anfänger-Themen 9
S Verständnisproblem einer Übungsaufgabe Java Basics - Anfänger-Themen 6
H Abstrakte Basisklasse Verständnisproblem! Java Basics - Anfänger-Themen 8
G Verständnisproblem mit swing Java Basics - Anfänger-Themen 6
F Methoden Cannot refer to a non-final variable.. verständnisproblem. Java Basics - Anfänger-Themen 7
P Verständnisproblem main Methode Java Basics - Anfänger-Themen 9
S Klassen Verständnisproblem Konstruktor Java Basics - Anfänger-Themen 7
I e.getMessage(); - Verständnisproblem Java Basics - Anfänger-Themen 6
lesni Vererbung Vererbung - Verständnisproblem Java Basics - Anfänger-Themen 2
M OOP Polymorphie/Vererbung Verständnisproblem Java Basics - Anfänger-Themen 2
J Verständnisproblem Methoden-Kettung Java Basics - Anfänger-Themen 3
A Vererbung Verständnisproblem bei Übung Java Basics - Anfänger-Themen 5
E Verständnisproblem Typkonvertierung Java Basics - Anfänger-Themen 4
S OOP Verständnisproblem Umsteiger Java Basics - Anfänger-Themen 22
C Array Verständnisproblem Java Basics - Anfänger-Themen 3
P White-Box-Test Verständnisproblem Java Basics - Anfänger-Themen 11
D : ? Operator -Verständnisproblem Java Basics - Anfänger-Themen 24
G Verständnisproblem: Exceptions Java Basics - Anfänger-Themen 17
L Eclipse verlangt "{" nach ";"... Verständnisproblem Java Basics - Anfänger-Themen 5
D charAt(i) verständnisproblem Java Basics - Anfänger-Themen 4
D Verständnisproblem Marken und Schleifen Java Basics - Anfänger-Themen 19
M Verständnisproblem bei Ternären Operanten bzw. Bedingungsoperator Java Basics - Anfänger-Themen 8
T Datentypen Verständnisproblem mit main Methode Java Basics - Anfänger-Themen 3
M Verständnisproblem Threads Java Basics - Anfänger-Themen 7
X Threads und synchronized - Verständnisproblem Java Basics - Anfänger-Themen 3
W ArrayLists: Verständnisproblem bei remove() Java Basics - Anfänger-Themen 2
B Verständnisproblem zu Swing und Methoden Java Basics - Anfänger-Themen 8
A Postinkrement-Verständnisproblem Java Basics - Anfänger-Themen 12
R Iterator Liste, Verständnisproblem Java Basics - Anfänger-Themen 4
1 Verständnisproblem mit Foreach Java Basics - Anfänger-Themen 4
B Verständnisproblem bei Vererbung Java Basics - Anfänger-Themen 3
W generisches Programmieren - Verständnisproblem Java Basics - Anfänger-Themen 4
A Verständnisproblem Nr 2 Java Basics - Anfänger-Themen 14
A Verständnisproblem Java Basics - Anfänger-Themen 6
A Array Verständnisproblem Java Basics - Anfänger-Themen 8
M Verständnisproblem mit der Klasse Thread Java Basics - Anfänger-Themen 10
N BufferedReader Verständnisproblem Java Basics - Anfänger-Themen 12
G Verständnisproblem: Code kompelieren und interpretieren Java Basics - Anfänger-Themen 3
S Polymorphie Verständnisproblem Java Basics - Anfänger-Themen 4
G Verständnisproblem Türme von Hanoi Java Basics - Anfänger-Themen 4
G Verständnisproblem Serverinput einlesen. Java Basics - Anfänger-Themen 4
J Array und Schleifen Verständnisproblem Java Basics - Anfänger-Themen 25
G Verständnisproblem Java Basics - Anfänger-Themen 4
N Verständnisproblem: Mehrere Objekte einer Klasse erstellen Java Basics - Anfänger-Themen 2
S SelectionListener + repaint().Verständnisproblem ;) Java Basics - Anfänger-Themen 7
V Verständnisproblem mit Abstrakten zu Konkreten Klassen Java Basics - Anfänger-Themen 7
A Problem mit der Stringgrösse, bzw Verständnisproblem? Java Basics - Anfänger-Themen 14
A Verständnisproblem mit ScrollPanel Java Basics - Anfänger-Themen 3
R Verständnisproblem mit Hibernate Java Basics - Anfänger-Themen 2
T Verständnisproblem mit equals() Java Basics - Anfänger-Themen 4
N datei byte für byte auslesen (verständnisproblem) Java Basics - Anfänger-Themen 2
T Verständnisproblem packages/import Java Basics - Anfänger-Themen 9
Chucky Lineare Listen Programm Verständnisproblem Java Basics - Anfänger-Themen 38
D Verständnisproblem Java Basics - Anfänger-Themen 6
S for Schleifen: Verständnisproblem Java Basics - Anfänger-Themen 15
T Vererbung von Attributen und Methoden, Verständnisproblem Java Basics - Anfänger-Themen 4
bernd while-Schleife: Verständnisproblem Java Basics - Anfänger-Themen 7
S verständnisproblem drucken Java Basics - Anfänger-Themen 11
G GridBagLayout: Verständnisproblem Java Basics - Anfänger-Themen 5
G JTree speichern und wieder einlesen Java Basics - Anfänger-Themen 5
C Unbekannte Methode add bei Klasse die JTree erweitert Java Basics - Anfänger-Themen 14
J ActionListener von JCheckBox im Knoten von JTree funktioniert nicht Java Basics - Anfänger-Themen 2
F Jtree kürzt Namen auf ... Java Basics - Anfänger-Themen 4
H Collections JTree remove zeigt keinen Effekt! Java Basics - Anfänger-Themen 8
H Best Practice Wo wird der rootNode eines JTree gespeichert... Java Basics - Anfänger-Themen 0
H Erste Schritte JTree: Instanzen einer Klasse speichern oder Namen/Strings... Java Basics - Anfänger-Themen 4
R JTree bewegen Java Basics - Anfänger-Themen 6
I JTree, Root-Name ändern Java Basics - Anfänger-Themen 4
N Dynamisch JTree erstellen Java Basics - Anfänger-Themen 3
G bestimmte dateiendungen in jtree rausfiltern Java Basics - Anfänger-Themen 7
P JTree aus txt Java Basics - Anfänger-Themen 8
M Warum wird mein Icon bei den JTree Nodes nicht angezeigt? Java Basics - Anfänger-Themen 7
JStickman JTree, JScrollPane, Liste mit graphischer Suchleiste - Dateimanager Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben