25 Nisan 2018 Çarşamba

Swing DefaultTreeModel Sınıfı

Giriş
Şu satırı dahil ederiz.
import javax.swing.tree.DefaultTreeModel;
JTree ile birlikte kullanılır.

addTreeModelListener metodu
İmzası şöyle.
public void addTreeModelListener(TreeModelListener l);
getChild metodu
İmzası şöyle.
public Object getChild(Object parent, int index) {
getChildCount metodu
İmzası şöyle.
public int getChildCount(Object parent);
getIndexOfChild metodu
İmzası şöyle.
public int getIndexOfChild(Object parent, Object child);
getRoot metodu
İmzası şöyle.
public Object getRoot();
Şöyle yaparız.
DefaultTreeModel model = (DefaultTreeModel)tree.getModel();
DefaultMutableTreeNode root = (DefaultMutableTreeNode)model.getRoot();
root.add(addNodes(null, file));
model.reload(root);
isLeaf metodu
İmzası şöyle.
public boolean isLeaf(Object node);
removeTreeModelListener metodu
İmzası şöyle.
public void removeTreeModelListener(TreeModelListener l);
valueForPathChanged metodu
İmzası şöyle.
public void valueForPathChanged(TreePath path, Object newvalue);
Diğer
Dosya sistemi için şöyle yaparız.
class FileTreeModel implements TreeModel {
  protected File root;
  public FileTreeModel(File root) { this.root = root; }

  public Object getRoot() { return root; }

  public boolean isLeaf(Object node) {  return ((File)node).isFile(); }

  public int getChildCount(Object parent) {
    String[] children = ((File)parent).list();
    if (children == null) return 0;
    return children.length;
  }

  public Object getChild(Object parent, int index) {
    String[] children = ((File)parent).list();
    if ((children == null) || (index >= children.length)) return null;
    return new File((File) parent, children[index]);
  }

  public int getIndexOfChild(Object parent, Object child) {
    String[] children = ((File)parent).list();
    if (children == null) return -1;
    String childname = ((File)child).getName();
    for(int i = 0; i < children.length; i++) {
      if (childname.equals(children[i])) return i;
    }
    return -1;
  }

  public void valueForPathChanged(TreePath path, Object newvalue) {}
  public void addTreeModelListener(TreeModelListener l) {}
  public void removeTreeModelListener(TreeModelListener l) {}
}

Hiç yorum yok:

Yorum Gönder