Kontextmenü im JTree ?

ralle030583

Mitglied
Hi,
hatte mir überlegt in einem JTree mit Hilfe eines TreeCellRenderers Kontextmenues in einem JTree einzubauen.. irgentwie bekomm ich das nicht hin glaub hab da ein denkfehler drin.. habs mir folgt gedacht:

Code:
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expand, boolean leaf, int row, boolean hasFocus) {
super.getTreeCellRendererComponent(tree, value, sel, expand, leaf, row, hasFocus);
 
Object userobject = ((DefaultMutableTreeNode)value).getUserObject();
 
if ((userobject.getClass()) == Buchungskreis.class){
	add(new BuchungskreisPopup(((Buchungskreis)userobject).getBezeichnung()));
}
 
if ((userobject.getClass()) == User.class){
setIcon(benutzerIcon);
}
 
return this;
}
Die Klasse BuchungskreisPopup erbt von JPopupMenu.


Nur wird mir gar nichts angezeigt wenn ich rechtsklicke.
Kann mir jemand sagen was ich falsch mache?
 
Den MouseListener hab ich temp. direkt beim erstelle des Trees drangehängt.. wird noch in ne eigene Klasse gepackt.

Code:
jTreeAuswahlBenutzer.addMouseListener(new MouseListener(){
	public void mouseClicked(MouseEvent arg0) {
	 if (arg0.getButton() == arg0.BUTTON1){
	 TreePath temp = jTreeAuswahlBenutzer.getPathForLocation(arg0.getX(),arg0.getY());
	 if (temp != null){
	 DefaultMutableTreeNode temp2 = (DefaultMutableTreeNode)temp.getLastPathComponent();
	 if (temp2.getUserObject().getClass() == User.class ){
		jTabbedPane.aktBenutzer(((User)temp2.getUserObject()).getBenutzercode());
	 }
	 }
	 }
	}
	public void mousePressed(MouseEvent arg0) {
	 // TODO Auto-generated method stub
 
	}
	public void mouseReleased(MouseEvent arg0) {
	 // TODO Auto-generated method stub
 
	}
	public void mouseEntered(MouseEvent arg0) {
	 // TODO Auto-generated method stub
 
	}
	public void mouseExited(MouseEvent arg0) {
	 // TODO Auto-generated method stub
 
	}
 
});

also das bei links klick der benutzer übertragen wird geht aber irgentwie bekomm ich keine rechtsklickabfrage eschweige denn das popup hin....
 
Zuletzt bearbeitet:
Zurück