Source Code : SWT Tree Composite

Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com. Click Here or search from google with Libraries Name you get jar file related it

SWT Tree Composite

/*
SWT/JFace in Action
GUI Design with Eclipse 3.0
Matthew Scarpino, Stephen Holder, Stanford Ng, and Laurent Mihalkovic

ISBN: 1932394273

Publisher: Manning
*/


import java.util.ArrayList;
import java.util.List;

import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;

public class Ch8TreeComposite extends Composite {
  public Ch8TreeComposite(Composite parent) {
    super(parent, SWT.NULL);
    populateControl();
  }

  protected void populateControl() {
    FillLayout compositeLayout = new FillLayout();
    setLayout(compositeLayout);

    int[] selectionStyle = { SWT.SINGLE, SWT.MULTI };
    int[] checkStyle = { SWT.NONE, SWT.CHECK };

    for (int selection = 0; selection < selectionStyle.length; selection++) {
      for (int check = 0; check < checkStyle.length; check++) {
        int style = selectionStyle[selection] | checkStyle[check];
        createTreeViewer(style);
      }
    }
  }

  private void createTreeViewer(int style) {
    TreeViewer viewer = new TreeViewer(this, style);

    viewer.setContentProvider(new ITreeContentProvider() {
      public Object[] getChildren(Object parentElement) {
        return ((TreeNode) parentElement).getChildren().toArray();
      }

      public Object getParent(Object element) {
        return ((TreeNode) element).getParent();
      }

      public boolean hasChildren(Object element) {
        return ((TreeNode) element).getChildren().size() > 0;
      }

      public Object[] getElements(Object inputElement) {
        return ((TreeNode) inputElement).getChildren().toArray();
      }

      public void dispose() {
      }

      public void inputChanged(Viewer viewer, Object oldInput,
          Object newInput) {
      }
    });

    viewer.setInput(getRootNode());
  }

  private TreeNode getRootNode() {
    TreeNode root = new TreeNode("root");
    root.addChild(new TreeNode("child 1").addChild(new TreeNode(
        "subchild 1")));
    root.addChild(new TreeNode("child 2").addChild(new TreeNode(
        "subchild 2").addChild(new TreeNode("grandchild 1"))));

    return root;
  }

}

class TreeNode {
  private String name;

  private List children = new ArrayList();

  private TreeNode parent;

  public TreeNode(String n) {
    name = n;
  }

  protected Object getParent() {
    return parent;
  }

  public TreeNode addChild(TreeNode child) {
    children.add(child);
    child.parent = this;
    return this;
  }

  public List getChildren() {
    return children;
  }

  public String toString() {
    return name;
  }
}

           
       

Thank with us