Mega Code Archive

 
Categories / Java Tutorial / SWT
 

Tree Viewers

JFace wraps SWT's Tree widget with a class called TreeViewer. Creating a TreeViewer TreeViewer treeViewer = new TreeViewer(shell); Create a TreeViewer to wrap an existing Tree control, like this: Tree tree = new Tree(shell, SWT.SINGLE); TreeViewer treeViewer = new TreeViewer(tree); import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.jface.window.ApplicationWindow; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Tree; import org.eclipse.swt.widgets.TreeItem; public class TreeViewerFileFromTree {   public static void main(String[] args) {     FileTreeWindow main = new FileTreeWindow();   } } class FileTreeWindow extends ApplicationWindow {   public FileTreeWindow() {     super(null);     // Don't return from open() until window closes     setBlockOnOpen(true);     // Open the main window     open();     // Dispose the display     Display.getCurrent().dispose();   }   protected void configureShell(Shell shell) {     super.configureShell(shell);     // Set the title bar text and the size     shell.setText("File Tree");     shell.setSize(400, 400);   }   protected Control createContents(Composite parent) {     Composite composite = new Composite(parent, SWT.NONE);     composite.setLayout(new FillLayout());     Tree tree = new Tree(composite, SWT.SINGLE);     for (int i = 0; i < 4; i++) {       TreeItem iItem = new TreeItem(tree, 0);       iItem.setText("TreeItem (0) -" + i);       for (int j = 0; j < 4; j++) {         TreeItem jItem = new TreeItem(iItem, 0);         jItem.setText("TreeItem (1) -" + j);         for (int k = 0; k < 4; k++) {           TreeItem kItem = new TreeItem(jItem, 0);           kItem.setText("TreeItem (2) -" + k);           for (int l = 0; l < 4; l++) {             TreeItem lItem = new TreeItem(kItem, 0);             lItem.setText("TreeItem (3) -" + l);             for (int m = 0; m < 4; m++) {               TreeItem mItem = new TreeItem(lItem, 0);               mItem.setText("TreeItem (3) -" + l);             }           }         }       }     }     TreeViewer treeViewer = new TreeViewer(tree);     return composite;   } }