Tree node Collapse listener : Tree Event « SWT « Java Tutorial






Tree node Collapse listener
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.TreeItem;

public class TreeNodeCollapseListener {

  public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());
    final Tree tree = new Tree(shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
    for (int i = 0; i < 4; i++) {
      TreeItem item0 = new TreeItem(tree, 0);
      item0.setText("Item " + i);
      for (int j = 0; j < 4; j++) {
        TreeItem item1 = new TreeItem(item0, 0);
        item1.setText("SubItem " + i + " " + j);
        for (int k = 0; k < 4; k++) {
          TreeItem item2 = new TreeItem(item1, 0);
          item2.setText("SubItem " + i + " " + j + " " + k);
        }
      }
    }
    tree.addListener(SWT.Collapse, new Listener() {
      public void handleEvent(Event e) {
        System.out.println("Collapse={" + e.item + "}");
      }
    });



    tree.getItems()[0].setExpanded(true);
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch())
        display.sleep();
    }
    display.dispose();
  }
}








17.60.Tree Event
17.60.1.Tree event: Measure TreeItem, Paint TreeItem and Erase TreeItemTree event: Measure TreeItem, Paint TreeItem and Erase TreeItem
17.60.2.Get TreeItem from Mouse position in mouse down eventGet TreeItem from Mouse position in mouse down event
17.60.3.Limit selection to items that match a pattern
17.60.4.Tree node Collapse listenerTree node Collapse listener
17.60.5.Tree Exapand listenerTree Exapand listener
17.60.6.Tree node selection listenerTree node selection listener
17.60.7.Tree default selection listenerTree default selection listener
17.60.8.Tree node selection eventTree node selection event