Java Tutorial/SWT/MenuEvent

Материал из Java эксперт
Перейти к: навигация, поиск

Add Menu event to popup menu

   <source lang="java">

import org.eclipse.swt.SWT; import org.eclipse.swt.dnd.Clipboard; import org.eclipse.swt.events.MenuAdapter; import org.eclipse.swt.events.MenuEvent; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; public class PopupMenuMenuEvent {

 public static void main(String[] args) {
   Display display = new Display();
   final Clipboard cb = new Clipboard(display);
   Shell shell = new Shell(display);
   shell.setLayout(new FillLayout());
   final Text text = new Text(shell, SWT.BORDER | SWT.MULTI | SWT.WRAP);
   Menu menu = new Menu(shell, SWT.POP_UP);
   final MenuItem copyItem = new MenuItem(menu, SWT.PUSH);
   
   copyItem.setText("Copy");
   
   menu.addMenuListener(new MenuAdapter() {
     public void menuShown(MenuEvent e) {
       System.out.println("Menu event");
     }
   });    
   
   text.setMenu(menu);
   shell.setSize(200, 200);
   shell.open();
   while (!shell.isDisposed()) {
     if (!display.readAndDispatch())
       display.sleep();
   }
   cb.dispose();
   display.dispose();
 }

}</source>





Menu Show Action Listener

   <source lang="java">

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; public class MenuActionListenerShow {

 public static void main(String[] args) {
   Display display = new Display();
   Shell shell = new Shell(display);
   
   Listener showListener = new Listener() {
     public void handleEvent(Event event) {
       Menu menu = (Menu) event.widget;
       MenuItem item = menu.getParentItem();
       if (item != null) {
         System.out.println(item.getText());
       
       }
     }
   };
   Menu menuBar = new Menu(shell, SWT.BAR);
   shell.setMenuBar(menuBar);
   MenuItem fileItem = new MenuItem(menuBar, SWT.CASCADE);
   fileItem.setText("File");
   MenuItem editItem = new MenuItem(menuBar, SWT.CASCADE);
   editItem.setText("Edit");
   Menu fileMenu = new Menu(shell, SWT.DROP_DOWN);
   fileMenu.addListener(SWT.Show, showListener);
   fileItem.setMenu(fileMenu);
   shell.open();
   while (!shell.isDisposed()) {
     if (!display.readAndDispatch())
       display.sleep();
   }
   display.dispose();
 }

}</source>