Problem mit JTree

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Ich suche gerade verzweifelt nach einer Möglichkeit eine ID an einen Knoten des JTrees zu hängen, den ich beim Doppelclick abfragen kann. Zur Zeit sieht mein Code so aus:

Code:
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Datenbank");
		Hashtable systable = db.getSysTableData();
		Enumeration e = systable.keys();
		while (e.hasMoreElements()){
			String table = (String)e.nextElement();
			Hashtable tablehash = (Hashtable)systable.get(table);
			String tablename = (String)tablehash.get("NAME");
			String groupname = (String)tablehash.get("GROUP");
			DefaultMutableTreeNode group = null;
			if (!groups.contains(groupname)){
				group = new DefaultMutableTreeNode( groupname );
				root.add(group);
				groups.put(groupname,group);
			}else{
				group = (DefaultMutableTreeNode)groups.get(groupname);
			}
			group.add( new DefaultMutableTreeNode( tablename ) );
		}
		tree = new JTree(root);

Ich würde gerne den String table mit an den Tree hängen jedoch für den Nutzer unsichtbar. Klick ich dann auf den Table möchte ich den String table erhalten.

Hat dazu jemand ein Beispiel?
 

Wildcard

Top Contributor
DefaultMutableTreeNode#setUserObject

Dein UserObject kann jedes beliebige Objekt sein, nicht nur Strings.
 
G

Guest

Gast
Danke für den Tip,

ich habe das wie folgt versucht:

Code:
DefaultMutableTreeNode tabNode = new DefaultMutableTreeNode( tablename );
			tabNode.setUserObject(tablehash);

Jedoch wird jetzt anstatt dem Namen ein toString des Hashtable angezeigt etwa so: {DESC=, GROUP=BACH, NAME=MOZ}]. Es solte aber im Table nur der Name hier "MOZ" angezeigt werden. Ich brauche die anderen Angaben nur beim Klick.
 

Wildcard

Top Contributor
Der Trick ist, ein Objekt zu setzen das alle Daten enthält die du brauchst.
Im einfachsten Fall besteht es aus einem String der im Tree angezeigt wird und was immer du sonst brauchst.
Dann überschreibst du in dieser Klasse toString und gibst den String für den Tree zurück.
 
G

Guest

Gast
Danke,

jetzt habe ich es verstanden. Bleibt nur noch eine Frage. Wie komme ich beim Klick jetzt an mein Object?

Ich fange so den Doppelclick ab und komme so an den Pfad bis zum Knoten. Sowas wie tree.getUserObject() gibt es leider nicht.

Code:
MouseListener ml = new MouseAdapter() {
		     public void mousePressed(MouseEvent e) {
		         int selRow = tree.getRowForLocation(e.getX(), e.getY());
		         TreePath selPath = tree.getPathForLocation(e.getX(), e.getY());

		         if(selRow != -1) {
		             if(e.getClickCount() == 1) {
		                 mySingleClick(selRow, selPath);
		             }
		             else if(e.getClickCount() == 2) {
		                 myDoubleClick(selRow, selPath);
		             }
		         }
		     }
		 };

THX
 

Wildcard

Top Contributor
Code:
DefaultMutableTreeNode node = (DefaultMutableTreeNode)treePath.getLastPathComponent();
 
G

Guest

Gast
Danke nur mit ist noch nicht klar wie ich jetzt an mein Objekt komme?

Ich habe eine Klasse TreeData die in der Funktion toString den richtigen Namen setzt:

Code:
import javax.swing.tree.DefaultMutableTreeNode;

public class TreeData extends DefaultMutableTreeNode{

	private String name;
	private String table;
	
	public TreeData(String name, String table){
		this.name = name;
		this.table = table;
	}
	
	public String toString(){
		return name;
	}
	
	public String getTable(){
		return table;
	}
	
}

Wenn ich folgendes mache, kann ich auf node die Funktion getTable() natürlich nicht aufrufen:

Code:
DefaultMutableTreeNode node = (DefaultMutableTreeNode)treePath.getLastPathComponent();

Und folgendes liefert mir eine ClassCastException: javax.swing.tree.DefaultMutableTreeNode cannot be cast to TreeData

Code:
TreeData node = (TreeData)selPath.getLastPathComponent();
 
G

Gast

Gast
Niemand eine Idee dazu?

Könnte dann ggf. jemand bestätigen, das dies eigentlich so seine Richtigkeit hat?

Danke
 
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
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
S JTree / problem / graphikfehler AWT, Swing, JavaFX & SWT 4
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
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
H 2D-Grafik Problem mit Paint AWT, Swing, JavaFX & SWT 1
S Layout - Problem AWT, Swing, JavaFX & SWT 1
Tassos JavaFX/Problem mit der Maussteuerung in Stackpane AWT, Swing, JavaFX & SWT 7
sserio Java Fx - Problem AWT, Swing, JavaFX & SWT 3
A Problem Spiel auf Panel der GUI zu bringen AWT, Swing, JavaFX & SWT 1
A JavaFX Controller Problem AWT, Swing, JavaFX & SWT 1
TheWhiteShadow JavaFX ListView Problem beim Entfernen von Elementen AWT, Swing, JavaFX & SWT 1
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
Umb3rus JavaFX Problem mit PropertyValueFactory: can not read from unreadable property AWT, Swing, JavaFX & SWT 1
T Problem mit paintComponent() AWT, Swing, JavaFX & SWT 17
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
G Instance OF Problem AWT, Swing, JavaFX & SWT 9
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
M Problem mit dem Anzeigen von Frames im Vordergrund AWT, Swing, JavaFX & SWT 5
Badebay Problem mit JButton AWT, Swing, JavaFX & SWT 2
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
J JavaFX Löschen im Tabelview macht Problem AWT, Swing, JavaFX & SWT 15
JavaTalksToMe JavaFx ExekutorService Problem AWT, Swing, JavaFX & SWT 2
Zrebna Problem bei Eventhandling (Value soll nach jedem erneutem Klick gelöscht werden) AWT, Swing, JavaFX & SWT 4
B Problem mit JavaFX AWT, Swing, JavaFX & SWT 5
J css Problem AWT, Swing, JavaFX & SWT 5
B JavaFX habe mein Problem fett markiert AWT, Swing, JavaFX & SWT 2
A Swing Filter-Problem AWT, Swing, JavaFX & SWT 1
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
L Java FX Problem mit Ubuntu 18 und JavaFx AWT, Swing, JavaFX & SWT 27
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
kodela Swing Problem mit Warten-Dialog AWT, Swing, JavaFX & SWT 16
B JavaFx Scene Builder Problem AWT, Swing, JavaFX & SWT 2
B [Problem] Java öffnet Word-Datein nicht AWT, Swing, JavaFX & SWT 14
T DataBinding Problem AWT, Swing, JavaFX & SWT 5
Blender3D Problem mit € Symbol Font Gotham Windows 10 Swing AWT, Swing, JavaFX & SWT 11
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 15
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 0
D Swing SwingUtils / Thread Problem AWT, Swing, JavaFX & SWT 3
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
T Swing Problem mit Datum und FormattedTextField AWT, Swing, JavaFX & SWT 2
S AWT Java print dialog Problem AWT, Swing, JavaFX & SWT 0
olfibits JavaFX Problem mit HTMLEditor AWT, Swing, JavaFX & SWT 0
W SWT hover-background-problem with first column in TreeViewer AWT, Swing, JavaFX & SWT 0
M Problem mit Add JScrollPane AWT, Swing, JavaFX & SWT 25
Mario1409 Swing JTextArea scroll Problem AWT, Swing, JavaFX & SWT 0
N Swing Problem mit loop AWT, Swing, JavaFX & SWT 2
S Swing Problem mit Button und ActionListener AWT, Swing, JavaFX & SWT 5
S Swing & Clean und build Problem AWT, Swing, JavaFX & SWT 12
S JLabel setText() Problem AWT, Swing, JavaFX & SWT 6
I 2D-Grafik Problem beim Ändern der Farbe eine 2d Objekts AWT, Swing, JavaFX & SWT 3
G Swing Splitpane Problem AWT, Swing, JavaFX & SWT 1
F Problem mit der FXML Rectangle Shape AWT, Swing, JavaFX & SWT 2
N JavaFX Stranges Problem mit der Autoscroll-Eigenschaft von Textareas AWT, Swing, JavaFX & SWT 0
E Java FX FXML Problem mit html Scriptausführung AWT, Swing, JavaFX & SWT 2
J JavaFX Intersect Problem mit Shapes AWT, Swing, JavaFX & SWT 10
R JavaFX MediaPlayer AVI-Problem AWT, Swing, JavaFX & SWT 1
M Swing Problem mit ListCellRenderer AWT, Swing, JavaFX & SWT 7
D Problem mit JTable AWT, Swing, JavaFX & SWT 1
F GUI Auflösung ändern - Koordianten und Proportions Problem AWT, Swing, JavaFX & SWT 21
J Problem mit Button darstellung AWT, Swing, JavaFX & SWT 23
M Problem mit Layoutmanagern... Hilfe wäre sehr nett. AWT, Swing, JavaFX & SWT 2
S 2D-Grafik Problem mit Variablen AWT, Swing, JavaFX & SWT 4
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
M Swing AttributiveCellTableModel addRow() Problem AWT, Swing, JavaFX & SWT 1
J Swing Problem mit Graphics Methode AWT, Swing, JavaFX & SWT 4
N JavaFX Problem mit table multiple selection AWT, Swing, JavaFX & SWT 5
K CheckBox Problem AWT, Swing, JavaFX & SWT 5
Grevak DisplayMode Problem seit Windows 10 AWT, Swing, JavaFX & SWT 2
S Swing Eigene JComboBox Problem! AWT, Swing, JavaFX & SWT 1
B Swing Problem mit Bildpfad AWT, Swing, JavaFX & SWT 4
N Swing Problem beim Scrollen mit JScrollPane AWT, Swing, JavaFX & SWT 6
V Graphics g - drawOval problem mit background AWT, Swing, JavaFX & SWT 1
C AWT Problem mit Protokol Fenster AWT, Swing, JavaFX & SWT 0
M Swing pack() Problem mit Taskleiste AWT, Swing, JavaFX & SWT 4
N Swing Choice- Problem! AWT, Swing, JavaFX & SWT 8
Q "AWT-EventQueue-0" Exception Problem AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben