JTree Ebenen

Marshallbbw

Erfahrenes Mitglied
Hallo Leute,

bin echt am verzweifeln. Versuche seit 2 Tagen bei einem JTree beim anklicken eines Elementes herauszufinden, ob es sich hierbei um ein Blatt oder einen Knoten handelt. Am besten wären ja Methode wie getLevel oder isExpandable - hat bei mir alles nicht funktioniert. Habe auch schon die abstrusesten Varianten versucht - ich bin wohl nur zum scheitern verdammt. Vielleicht weiß ja jemand wie's geht - wird wohl auch extrem simpel sein und ich seh den Wald vor lauter Bäumen nicht.
Danke im Voraus!
 
ich habe es mal so gelöst..
Java:
package de.tutorials;

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;

public class JtreeDemo extends JFrame{

	public JtreeDemo(){
		
		DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root");
		DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("Node1");
		DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("Node2");
		DefaultMutableTreeNode node3 = new DefaultMutableTreeNode("Node3");
		node1.add(node2);
		root.add(node1);
		root.add(node3);
		
		
		final JTree tree = new JTree(root);
		tree.addMouseListener(new MouseListener() {
		
			public void mouseExited(MouseEvent arg0) {
				// TODO Auto-generated method stub
		
			}
		
			public void mouseEntered(MouseEvent arg0) {
				// TODO Auto-generated method stub
		
			}
		
			public void mouseReleased(MouseEvent arg0) {
				// TODO Auto-generated method stub
		
			}
		
			public void mousePressed(MouseEvent arg0) {
				// TODO Auto-generated method stub
		
			}
		
			public void mouseClicked(MouseEvent arg0) {
				System.out.println(tree.getModel().isLeaf(tree.getSelectionPath().getLastPathComponent()));
		
			}
		
		});
		this.getContentPane().add(tree);
		this.setSize(300,400);
		this.setVisible(true);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		new JtreeDemo();

	}

}
hoffe das hilft dem brett auf die sprünge ;)

mfg
elmato

edit:
btw was so eine Neuinstallation bei einem Windowsrechner doch so alles bewirken kann, mein Eclipse läuft wieder JUHU!!
 
Toll - vielen Dank - hat mir echt weiter geholfen - jetzt wo ichs sehe versteh ich das schon - aber drauf gekommen wäre ich wohl nicht.
Hab dank.
 
Zurück