gibt es eine möglichket in einem jtree die nodes nicht auswählbar zu mahcen?
tree.setSelectionModel(new DefaultTreeSelectionModel() {
@Override
public void setSelectionPaths(TreePath[] pPaths) {}
@Override
public void addSelectionPaths(TreePath[] paths) {}
@Override
public void removeSelectionPaths(TreePath[] paths) {}
});
Den Satz verstehe ich nicht.na dann mach ich lieber das abfangen auf der übergeenden seite und sage was einfach nicht angenommen wird von der auswahl
Warum fragst Du Dich das und nicht einfach die API-Doc? Siehe TreeNode.getParent(). Davon abgesehen: Alle Knoten erster Ebene sollten die Wurzel (und nichtich frage mich grad ob ich bei einem treenode nicht nach seinem parent fragen kann?
null
Natürlich geht das. Schrieb ich doch:Hatte gedacht ich könnte eine Eben des JTrees (klassifikationsebene) irgendwie als nicht auswählbar markieren und nur die Blätter auswählbar machen, aber wenn das nicht geht muss
Wenn Du einzelne Knoten selektierbar haben willst, musst Du die Methoden oben entsprechend implementieren.
tree.setSelectionModel(new DefaultTreeSelectionModel() {
private TreePath[] filterPaths(TreePath[] paths) {
final int validPaths = 0;
for (int i = 0; i < paths.length; i++) {
final TreePath path = paths[i];
paths[i] = null;
if (path.getPathCount() > 2) {
paths[validPaths++] = path;
}
}
if (validPaths != paths.length) {
final TreePath[] oldArr = paths;
paths = new TreePath[validPaths];
System.arraycopy(oldArr, 0, paths, 0, validPaths);
}
return paths;
}
@Override
public void setSelectionPaths(TreePath[] pPaths) {
super.setSelectionPaths(filterPaths(pPaths));
}
@Override
public void addSelectionPaths(TreePath[] paths) {
super.addSelectionPaths(filterPaths(pPaths));
}
@Override
public void removeSelectionPaths(TreePath[] paths) {
super.removeSelectionPaths(pPaths);
}
});