Fill a menu dynamically (when menu shown) : Menu « SWT JFace Eclipse « Java






Fill a menu dynamically (when menu shown)

Fill a menu dynamically (when menu shown)


/*
 * Menu example snippet: fill a menu dynamically (when menu shown)
 *
 * For a list of all SWT example snippets see
 * http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/dev.html#snippets
 */
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.TreeItem;

public class Snippet97 {

  public static void main(String[] args) {
    final Display display = new Display();
    Shell shell = new Shell(display);
    final Tree tree = new Tree(shell, SWT.BORDER | SWT.MULTI);
    final Menu menu = new Menu(shell, SWT.POP_UP);
    tree.setMenu(menu);
    for (int i = 0; i < 12; i++) {
      TreeItem item = new TreeItem(tree, SWT.NONE);
      item.setText("Item " + i);
    }
    menu.addListener(SWT.Show, new Listener() {
      public void handleEvent(Event event) {
        MenuItem[] menuItems = menu.getItems();
        for (int i = 0; i < menuItems.length; i++) {
          menuItems[i].dispose();
        }
        TreeItem[] treeItems = tree.getSelection();
        for (int i = 0; i < treeItems.length; i++) {
          MenuItem menuItem = new MenuItem(menu, SWT.PUSH);
          menuItem.setText(treeItems[i].getText());
        }
      }
    });
    tree.setSize(200, 200);
    shell.setSize(300, 300);
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch())
        display.sleep();
    }
    display.dispose();
  }
}

           
       








Related examples in the same category

1.SWT Menu and menu eventSWT Menu and menu event
2.Shared Menu in SWTShared Menu in SWT
3.Menu Examples Menu Examples
4.Demonstrates menusDemonstrates menus
5.Menu Shell
6.Menu Shell 2Menu Shell 2
7.Menu Shell 3Menu Shell 3
8.Menu Shell 4Menu Shell 4
9.Menu Shell 6Menu Shell 6
10.Menu Shell 5Menu Shell 5
11.SWT Menu ExampleSWT Menu Example
12.Show a popup menu (wait for it to close)Show a popup menu (wait for it to close)
13.Enable menu items dynamically (when menu shown)Enable menu items dynamically (when menu shown)
14.Create a menu with radio itemsCreate a menu with radio items
15.Create a popup menu (set in multiple controls)Create a popup menu (set in multiple controls)
16.Create a bar and pull down menu (accelerators, mnemonics)Create a bar and pull down menu (accelerators, mnemonics)