Example usage for org.eclipse.swt.widgets Tree Tree

List of usage examples for org.eclipse.swt.widgets Tree Tree

Introduction

In this page you can find the example usage for org.eclipse.swt.widgets Tree Tree.

Prototype

public Tree(Composite parent, int style) 

Source Link

Document

Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

Usage

From source file:Snippet80.java

public static void main(String[] args) {
    final Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());
    final Tree tree = new Tree(shell, SWT.BORDER | SWT.MULTI);
    for (int i = 0; i < 2; i++) {
        TreeItem item = new TreeItem(tree, SWT.NONE);
        item.setText("item " + i);
        for (int j = 0; j < 2; j++) {
            TreeItem subItem = new TreeItem(item, SWT.NONE);
            subItem.setText("item " + j);
            for (int k = 0; k < 2; k++) {
                TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
                subsubItem.setText("item " + k);
            }/*from www. java  2 s . co m*/
        }
    }

    tree.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            TreeItem[] selection = tree.getSelection();
            TreeItem[] revisedSelection = new TreeItem[0];
            for (int i = 0; i < selection.length; i++) {
                String text = selection[i].getText();
                if (text.indexOf("1") > 0) {
                    TreeItem[] newSelection = new TreeItem[revisedSelection.length + 1];
                    System.arraycopy(revisedSelection, 0, newSelection, 0, revisedSelection.length);
                    newSelection[revisedSelection.length] = selection[i];
                    revisedSelection = newSelection;
                }
            }
            tree.setSelection(revisedSelection);
        }
    });

    shell.setSize(300, 300);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:TreeEditorSampleDemo.java

public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Text Tree Editor");
    shell.setLayout(new FillLayout());

    final Tree tree = new Tree(shell, SWT.SINGLE);
    for (int i = 0; i < 3; i++) {
        TreeItem iItem = new TreeItem(tree, SWT.NONE);
        iItem.setText("Item " + (i + 1));
        for (int j = 0; j < 3; j++) {
            TreeItem jItem = new TreeItem(iItem, SWT.NONE);
            jItem.setText("Sub Item " + (j + 1));
            for (int k = 0; k < 3; k++) {
                new TreeItem(jItem, SWT.NONE).setText("Sub Sub Item " + (k + 1));
            }/* ww w  .ja  v  a 2 s .c om*/
            jItem.setExpanded(true);
        }
        iItem.setExpanded(true);
    }

    final TreeEditor editor = new TreeEditor(tree);
    editor.horizontalAlignment = SWT.LEFT;
    editor.grabHorizontal = true;

    tree.addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent event) {
            if (event.keyCode == SWT.F2 && tree.getSelectionCount() == 1) {
                final TreeItem item = tree.getSelection()[0];

                final Text text = new Text(tree, SWT.NONE);
                text.setText(item.getText());
                text.selectAll();
                text.setFocus();

                text.addFocusListener(new FocusAdapter() {
                    public void focusLost(FocusEvent event) {
                        item.setText(text.getText());
                        text.dispose();
                    }
                });

                text.addKeyListener(new KeyAdapter() {
                    public void keyPressed(KeyEvent event) {
                        switch (event.keyCode) {
                        case SWT.CR:
                            item.setText(text.getText());
                        case SWT.ESC:
                            text.dispose();
                            break;
                        }
                    }
                });
                editor.setEditor(text, item);
            }
        }
    });

    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
            display.sleep();
        }
    }
    display.dispose();
}

From source file:MainClass.java

public static void main(String[] a) {
    final Display d = new Display();
    final Shell s = new Shell(d);

    s.setSize(250, 200);/*from w w w. ja v  a 2  s .  co m*/
    s.setText("A Tree Shell Example");
    s.setLayout(new FillLayout(SWT.HORIZONTAL));
    final Tree t = new Tree(s, SWT.SINGLE | SWT.BORDER);
    final TreeItem child1 = new TreeItem(t, SWT.NONE, 0);
    child1.setText("1");
    //    child1.setImage(new Image(d, "c:\\icons\\folder.gif"));
    final TreeItem child2 = new TreeItem(t, SWT.NONE, 1);
    child2.setText("2");
    final TreeItem child2a = new TreeItem(child2, SWT.NONE, 0);
    child2a.setText("2A");
    final TreeItem child2b = new TreeItem(child2, SWT.NONE, 1);
    child2b.setText("2B");
    final TreeItem child3 = new TreeItem(t, SWT.NONE, 2);
    child3.setText("3");

    final List l = new List(s, SWT.BORDER | SWT.SINGLE);

    t.addTreeListener(new TreeListener() {
        public void treeExpanded(TreeEvent e) {
            TreeItem ti = (TreeItem) e.item;
            //      ti.setImage(new Image(d, "c:\\icons\\open.gif"));
        }

        public void treeCollapsed(TreeEvent e) {
            TreeItem ti = (TreeItem) e.item;
            //        ti.setImage(new Image(d, "c:\\icons\\folder.gif"));
        }
    });

    t.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            TreeItem ti = (TreeItem) e.item;
            populateList(ti.getText());
        }

        private void populateList(String type) {
            if (type.equals("1")) {
                l.removeAll();
                l.add("1");
                l.add("2");
            }
            if (type.equals("2")) {
                l.removeAll();
            }
            if (type.equals("2A")) {
                l.removeAll();
                l.add("3");
                l.add("4");
            }
            if (type.equals("2B")) {
                l.removeAll();
                l.add("5");
                l.add("6");
            }
            if (type.equals("3")) {
                l.removeAll();
                l.add("7");
                l.add("8");
            }
        }
    });

    s.open();
    while (!s.isDisposed()) {
        if (!d.readAndDispatch())
            d.sleep();
    }
    d.dispose();
}

From source file:Snippet8.java

public static void main(String[] args) {
    final Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setText("Lazy Tree");
    shell.setLayout(new FillLayout());
    final Tree tree = new Tree(shell, SWT.BORDER);
    File[] roots = File.listRoots();
    for (int i = 0; i < roots.length; i++) {
        TreeItem root = new TreeItem(tree, 0);
        root.setText(roots[i].toString());
        root.setData(roots[i]);/*w w w .j av  a2s . c  o m*/
        new TreeItem(root, 0);
    }
    tree.addListener(SWT.Expand, new Listener() {
        public void handleEvent(final Event event) {
            final TreeItem root = (TreeItem) event.item;
            TreeItem[] items = root.getItems();
            for (int i = 0; i < items.length; i++) {
                if (items[i].getData() != null)
                    return;
                items[i].dispose();
            }
            File file = (File) root.getData();
            File[] files = file.listFiles();
            if (files == null)
                return;
            for (int i = 0; i < files.length; i++) {
                TreeItem item = new TreeItem(root, 0);
                item.setText(files[i].getName());
                item.setData(files[i]);
                if (files[i].isDirectory()) {
                    new TreeItem(item, 0);
                }
            }
        }
    });
    Point size = tree.computeSize(300, SWT.DEFAULT);
    int width = Math.max(300, size.x);
    int height = Math.max(300, size.y);
    shell.setSize(shell.computeSize(width, height));
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:TreeEditorButton.java

public static void main(String[] args) {
    Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setText("Text Tree Editor");
    shell.setLayout(new FillLayout());

    final Tree tree = new Tree(shell, SWT.SINGLE);
    for (int i = 0; i < 3; i++) {
        TreeItem iItem = new TreeItem(tree, SWT.NONE);
        iItem.setText("Item " + (i + 1));
        for (int j = 0; j < 3; j++) {
            TreeItem jItem = new TreeItem(iItem, SWT.NONE);
            jItem.setText("Sub Item " + (j + 1));
            for (int k = 0; k < 3; k++) {
                new TreeItem(jItem, SWT.NONE).setText("Sub Sub Item " + (k + 1));
            }/*from  www.j av a 2s .  c o m*/
            jItem.setExpanded(true);
        }
        iItem.setExpanded(true);
    }

    final TreeEditor editor = new TreeEditor(tree);
    editor.horizontalAlignment = SWT.LEFT;
    editor.grabHorizontal = true;

    tree.addMouseListener(new MouseAdapter() {
        public void mouseDown(MouseEvent event) {
            final TreeItem item = tree.getSelection()[0];

            final Button bn = new Button(tree, SWT.NONE);
            bn.setText("click");
            bn.setFocus();

            bn.addSelectionListener(new SelectionListener() {

                public void widgetSelected(SelectionEvent arg0) {
                    int style = SWT.ICON_QUESTION | SWT.YES | SWT.NO;

                    MessageBox messageBox = new MessageBox(shell, style);
                    messageBox.setMessage("Message");
                    int rc = messageBox.open();

                    item.setText(rc + "");
                    bn.dispose();
                }

                public void widgetDefaultSelected(SelectionEvent arg0) {
                }
            });

            editor.setEditor(bn, item);
        }
    });

    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
            display.sleep();
        }
    }
    display.dispose();
}

From source file:org.eclipse.swt.snippets.Snippet102.java

public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Snippet 102");
    Tree tree = new Tree(shell, SWT.BORDER | SWT.MULTI);
    Rectangle clientArea = shell.getClientArea();
    tree.setBounds(clientArea.x, clientArea.y, 200, 200);
    for (int i = 0; i < 12; i++) {
        TreeItem item = new TreeItem(tree, SWT.NONE);
        item.setText("Item " + i);
    }/*from  w ww  .j a  v a 2s . c o m*/
    TreeItem item = new TreeItem(tree, SWT.NONE, 1);
    TreeItem[] items = tree.getItems();
    int index = 0;
    while (index < items.length && items[index] != item)
        index++;
    item.setText("*** New Item " + index + " ***");
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:org.eclipse.swt.snippets.Snippet90.java

public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Snippet 90");
    final Tree tree = new Tree(shell, SWT.BORDER | SWT.MULTI);
    for (int i = 0; i < 12; i++) {
        TreeItem treeItem = new TreeItem(tree, SWT.NONE);
        treeItem.setText("Item " + i);
    }//from   www . ja v  a  2  s . com
    tree.addListener(SWT.MouseDown, event -> {
        Point point = new Point(event.x, event.y);
        TreeItem item = tree.getItem(point);
        if (item != null) {
            System.out.println("Mouse down: " + item);
        }
    });
    Rectangle clientArea = shell.getClientArea();
    tree.setBounds(clientArea.x, clientArea.y, 200, 200);
    shell.setSize(300, 300);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:org.eclipse.swt.snippets.Snippet114.java

public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Snippet 114");
    Tree tree = new Tree(shell, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    for (int i = 0; i < 12; i++) {
        TreeItem item = new TreeItem(tree, SWT.NONE);
        item.setText("Item " + i);
    }//from  w  w w  .j av  a2 s .  c o  m
    Rectangle clientArea = shell.getClientArea();
    tree.setBounds(clientArea.x, clientArea.y, 100, 100);
    tree.addListener(SWT.Selection, event -> {
        String string = event.detail == SWT.CHECK ? "Checked" : "Selected";
        System.out.println(event.item + " " + string);
    });
    shell.setSize(200, 200);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:org.eclipse.swt.snippets.Snippet97.java

public static void main(String[] args) {
    final Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Snippet 97");
    final Tree tree = new Tree(shell, SWT.BORDER | SWT.MULTI);
    final Menu menu = new Menu(shell, SWT.POP_UP);
    tree.setMenu(menu);/*from   ww  w  .j  av a 2  s  .c  o m*/
    for (int i = 0; i < 12; i++) {
        TreeItem item = new TreeItem(tree, SWT.NONE);
        item.setText("Item " + i);
    }
    menu.addListener(SWT.Show, event -> {
        MenuItem[] menuItems = menu.getItems();
        for (int i1 = 0; i1 < menuItems.length; i1++) {
            menuItems[i1].dispose();
        }
        TreeItem[] treeItems = tree.getSelection();
        for (int i2 = 0; i2 < treeItems.length; i2++) {
            MenuItem menuItem = new MenuItem(menu, SWT.PUSH);
            menuItem.setText(treeItems[i2].getText());
        }
    });
    Rectangle clientArea = shell.getClientArea();
    tree.setBounds(clientArea.x, clientArea.y, 200, 200);
    shell.setSize(300, 300);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:org.eclipse.swt.snippets.Snippet15.java

public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Snippet 15");
    shell.setLayout(new FillLayout());
    final Tree tree = new Tree(shell, SWT.BORDER);
    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);
                }//from  w  ww  .  j  a  v  a2  s  .c  o m
            }
        }
    }
    shell.setSize(200, 200);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}