Enable menu items dynamically (when menu shown) : Menu « SWT JFace Eclipse « Java

Enable menu items dynamically (when menu shown)

Enable menu items dynamically (when menu shown)

 * Menu example snippet: enable menu items 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 Snippet73 {

public static void main (String [] args) {
  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 treeItem = new TreeItem (tree, SWT.NONE);
    treeItem.setText ("Item " + i);
    MenuItem menuItem = new MenuItem (menu, SWT.PUSH);
    menuItem.setText (treeItem.getText ());
  menu.addListener (SWT.Show, new Listener () {
    public void handleEvent (Event event) {
      MenuItem [] menuItems = menu.getItems ();
      TreeItem [] treeItems = tree.getSelection ();
      for (int i=0; i<menuItems.length; i++) {
        String text = menuItems [i].getText ();
        int index = 0;
        while (index<treeItems.length) {
          if (treeItems [index].getText ().equals (text)) break;
        menuItems [i].setEnabled (index != treeItems.length);
  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.Fill a menu dynamically (when menu shown)Fill a menu 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)