Mahlzeit,
ich habe einen eigenen TreeCellEditor geschrieben, welcher vom DefaultTreeCellEditor erbt und die Methode "public boolean isCellEditable(EventObject arg0)" ueberschreibt, sodass je nach TreeNode-Typ ein Editieren moeglich ist oder auch nicht. Soweit so gut.
Nun moechte ich das Editierverhalten an meine Beduerfnisse anpassen und habe die Mechanismen dazu auch fertig. Jedoch stolpere ich bei der Methode "jTree.startEditingAtPath(path);"
Ich hab dann mal debugt:
(die JTree Methode)
public void startEditingAtPath(TreePath path)
(ruft am BasicTreeUI auf)
public void startEditingAtPath(JTree tree, TreePath path)
{
startEditing(path, null);
}
(ruft am BasicTreeUI auf)
protected boolean startEditing(TreePath path, MouseEvent event)
Das bedeutet, es wird als MouseEvent fest "null" uebergeben.
Bloed jetzt nur, dass innerhalb der Methode "startEditing" dann: "cellEditor.isCellEditable(event)" aufgerufen wird - natuerlich mit "null" als Event.
Wie soll ich denn in meinem CellEditor herausfinden welche TreeNode editiert werden soll, wenn dort "null" uebergeben wird.
Eine Methode wie "public void startEditingAtPath(TreePath path, MouseEvent event)" gibt es am JTree leider nicht.
Wie loest man das denn am besten?
Gruss, FFNB.
PS: Ich hoffe, das war nicht zu verwirrend aufgeschrieben.
ich habe einen eigenen TreeCellEditor geschrieben, welcher vom DefaultTreeCellEditor erbt und die Methode "public boolean isCellEditable(EventObject arg0)" ueberschreibt, sodass je nach TreeNode-Typ ein Editieren moeglich ist oder auch nicht. Soweit so gut.
Nun moechte ich das Editierverhalten an meine Beduerfnisse anpassen und habe die Mechanismen dazu auch fertig. Jedoch stolpere ich bei der Methode "jTree.startEditingAtPath(path);"
Ich hab dann mal debugt:
(die JTree Methode)
public void startEditingAtPath(TreePath path)
(ruft am BasicTreeUI auf)
public void startEditingAtPath(JTree tree, TreePath path)
{
startEditing(path, null);
}
(ruft am BasicTreeUI auf)
protected boolean startEditing(TreePath path, MouseEvent event)
Das bedeutet, es wird als MouseEvent fest "null" uebergeben.
Bloed jetzt nur, dass innerhalb der Methode "startEditing" dann: "cellEditor.isCellEditable(event)" aufgerufen wird - natuerlich mit "null" als Event.
Wie soll ich denn in meinem CellEditor herausfinden welche TreeNode editiert werden soll, wenn dort "null" uebergeben wird.
Eine Methode wie "public void startEditingAtPath(TreePath path, MouseEvent event)" gibt es am JTree leider nicht.
Wie loest man das denn am besten?
Gruss, FFNB.
PS: Ich hoffe, das war nicht zu verwirrend aufgeschrieben.