D
David
Gast
Ich wollte fragen wir ich mein JTreeModel umschreiben muss damit mir nur die Verzeichnisse im Tree angezeigt werden und nicht die Datein. Halt so wie im explorer
und hier mein Model:
Code:
private javax.swing.JTree getJTree() {
if (jTree == null) {
myFile root = new myFile(System.getProperty("file.separator"));
final FileTreeModel model = new FileTreeModel(root);
jTree = new javax.swing.JTree(model);
}
return jTree;
}
und hier mein Model:
Code:
class FileTreeModel implements TreeModel {
protected myFile root; // Wurzel
public void erneuerTree(){}
public FileTreeModel(myFile root) {
this.root = root;
}
public void setroot(myFile pathnamer) {
this.root = pathnamer;
}
public Object getRoot() { // Liefert die Wurzel des Funktionsbaumes
return root;
}
public boolean isLeaf(Object node) { // ist es ein Blatt oder nicht
return ( (myFile) node).isFile();
}
private Vector listeners = new Vector();
public int getChildCount(Object parent) { //bekommt object Eltern und soll Anzahl Kind-Knoten dieses Knotens liefern
String[] children = ( (myFile) parent).list(); //gibt String Liste von parent
if (children == null)return 0; //wenn keine children dann 0
return children.length; // sonst Länge der Kinder zurückgeben
}
public Object getChild(Object parent, int index) { // bekommt parent und Index des gesuchten Kind-Knotens und liefert Object Kind-Knoten
String[] children = ( (myFile) parent).list(); //gibt String Liste von parent
if ( (children == null) || (index >= children.length))return null;
return new myFile((myFile) parent, children[index]);
}
public int getIndexOfChild(Object parent, Object child) { //bekommt parent und object Kind
String[] children = ( (myFile) parent).list();
if (children == null)return -1; //wenn kinder 0 dann ende -1
String childname = ( (myFile) child).getName(); //String name des Kindes ist
for (int i = 0; i > children.length; i++) {
if (childname.equals(children[i]))return i;
}
return -1;
}
public void valueForPathChanged(TreePath path, Object newvalue) {} // Wird aufgerufen, wenn der Wert für den Pfad geändert wurde.
public void addTreeModelListener(TreeModelListener l) {
listeners.add(l);
}
public void removeTreeModelListener(TreeModelListener l) {} // Entfernt den Listener
}