SWT implements the right-click menu Function

Source: Internet
Author: User

The right-click menu code is similar to other menu codes, but different SWT styles are provided during initialization.

 

Import Org. eclipse. SWT. SWT; <br/> Import Org. eclipse. SWT. events. selectionevent; <br/> Import Org. eclipse. SWT. events. selectionlistener; <br/> Import Org. eclipse. SWT. graphics. image; <br/> Import Org. eclipse. SWT. widgets. display; <br/> Import Org. eclipse. SWT. widgets. menu; <br/> Import Org. eclipse. SWT. widgets. menuitem; <br/> Import Org. eclipse. SWT. widgets. shell; <br/> public class menutest {<br/> static display Display = New Display (); <br/> static shell = new shell (Display); <br/>/* <br/> * Create a multilevel Menu Using SWT. the cascade style value can be added to the sub menu, using SWT. the push style value cannot be added to the sub-menu <br/> */<br/> Public static void createmenu () {<br/> shell. setsize (500,500); <br/> shell. settext ("menu test window"); <br/> // shell. setimage (new image (display, "images/home.png"); <br/> // use Shell objects and SWT. bar style value to create a menu bar <br/> menu = new menu (shell, SWT. bar); <Br/> // create a file menu based on the menu bar <br/> menuitem file = new menuitem (menu, SWT. cascade); <br/> file. settext ("& file"); <br/> // create a drop-down box in shell, then add the drop-down box to the File menu <br/> menu filemenu = new menu (shell, SWT. drop_down); <br/> file. setmenu (filemenu); <br/> // create a menu item open in the drop-down box <br/> final menuitem openitem = new menuitem (filemenu, SWT. cascade); <br/> openitem. settext ("& Open"); <br/> // create a drop-down box in shell and add it to the Open menu. <br/> Menu childmenu = new menu (shell, SWT. drop_down); <br/> openitem. setmenu (childmenu); <br/> // create a sub-menu child on the Open menu <br/> final menuitem childitem = new menuitem (childmenu, SWT. push); <br/> childitem. settext ("& Child"); <br/> // create a submenu dialog on the Open menu <br/> final menuitem dialogitem = new menuitem (childmenu, SWT. push); <br/> dialogitem. settext ("& dialog"); <br/> // create a separator between menu items <br/> New menuitem (filemenu, SWT. Separator); <br/> // create a menu item exit in the drop-down box <br/> menuitem exititem = new menuitem (filemenu, SWT. push); <br/> exititem. settext ("& Exit"); <br/> // set the edit menu <br/> menuitem edit = new menuitem (menu, SWT. cascade); <br/> edit. settext ("& edit"); <br/> menu editmenu = new menu (shell, SWT. drop_down); <br/> edit. setmenu (editmenu); <br/> menuitem cutitem = new menuitem (editmenu, SWT. push); <br/> cutitem. settext ("& cut/tctrl + x "); <Br/> // set the shortcut key <br/> cutitem. setaccelerator (SWT. CTRL + 'X'); <br/> // create a separator between menu items <br/> New menuitem (editmenu, SWT. separator); <br/> menuitem copyitem = new menuitem (editmenu, SWT. push); <br/> copyitem. settext ("& copy/tctrl + C"); <br/> // set the shortcut key <br/> copyitem. setaccelerator (SWT. CTRL + 'C'); <br/> // create a separator between menu items <br/> New menuitem (editmenu, SWT. separator); <br/> menuitem pasteitem = new menuitem (editmen U, SWT. push); <br/> pasteitem. settext ("& Paste/tctrl + V"); <br/> // set the shortcut key <br/> pasteitem. setaccelerator (SWT. CTRL + 'V'); <br/> // set the Window Menu <br/> menuitem window = new menuitem (menu, SWT. cascade); <br/> window. settext ("& window"); <br/> menu windowmenu = new menu (shell, SWT. drop_down); <br/> window. setmenu (windowmenu); <br/> final menuitem maxitem = new menuitem (windowmenu, SWT. push); <br/> maxitem. settext (" & MAX "); <br/> // create a separator between menu items <br/> New menuitem (windowmenu, SWT. separator); <br/> menuitem minitem = new menuitem (windowmenu, SWT. push); <br/> minitem. settext ("& min"); <br/> // set the Help menu <br/> menuitem help = new menuitem (menu, SWT. cascade); <br/> help. settext ("& Help"); <br/> menu helpmenu = new menu (shell, SWT. drop_down); <br/> help. setmenu (helpmenu); <br/> menuitem aboutitem = new menuitem (helpmenu, SWT. Push); <br/> aboutitem. settext ("& about"); <br/> // Add an option menu for adding a single choice menu and a check menu <br/> menuitem option = new menuitem (menu, SWT. cascade); <br/> option. settext ("& option"); <br/> menu optionmenu = new menu (shell, SWT. drop_down); <br/> option. setmenu (optionmenu); <br/> menuitem checkitem1 = new menuitem (optionmenu, SWT. check); <br/> checkitem1.settext ("check1"); <br/> menuitem checkitem2 = new menuitem (optionmen U, SWT. check); <br/> checkitem2.settext ("check2"); <br/> // The default value is selected. <br/> checkitem2.setselection (true ); <br/> // set the delimiter <br/> New menuitem (optionmenu, SWT. separator); <br/> menuitem radioitem1 = new menuitem (optionmenu, SWT. radio); <br/> radioitem1.settext ("radio1"); <br/> // The default value is <br/> radioitem1.setselection (true ); <br/> menuitem radioitem2 = new menuitem (optionmenu, SWT. radio); <br/> radioitem2.settext ("Radio2"); <br/> // Add an event to the menu <br/> childitem. addselectionlistener (New selectionlistener () {<br/> @ override <br/> Public void widgetselected (selectionevent arg0) {<br/> // todo auto-generated method stub <br/> shell parent = (Shell) maxitem. getparent (). getparent () <br/>. getparent (); <br/> shell child = new shell (parent, SWT. resize | SWT. max); <br/> child. settext ("Child item has been clicked"); <br/> CH ILD. setimage (new image (display, "images/alert.png"); <br/> child. setsize (400,100); <br/> child. open (); <br/>}< br/> @ override <br/> Public void widgetdefadefaselected (selectionevent arg0) {<br/> // todo auto-generated method stub <br/>}< br/> }); <br/> // Add the menu bar to shell <br/> shell. setmenubar (menu); <br/> // right-click the menu and choose <br/> shell. setmenu (createeditpopup (); <br/> shell. open (); <br/> while (! Shell. isdisposed () {<br/> If (display. readanddispatch () {<br/> display. sleep (); <br/>}< br/> display. dispose (); <br/>}< br/>/* <br/> * Create a shortcut menu using the style value SWT. pop_up to create a shortcut menu <br/> */<br/> Public static menu createeditpopup () {<br/> menu popmenu = new menu (shell, SWT. pop_up); <br/> menuitem cutitem = new menuitem (popmenu, SWT. push); <br/> cutitem. settext ("& cut"); <br/> menuitem copyitem = new menuitem (popmenu, SWT. push); <br/> copyitem. settext ("& copy"); <br/> menuitem pasteitem = new menuitem (popmenu, SWT. push); <br/> pasteitem. settext ("& Paste"); <br/> cutitem. addselectionlistener (New selectionlistener () {<br/> @ override <br/> Public void widgetselected (selectionevent arg0) {<br/> // todo auto-generated method stub <br/> system. out. println ("cut"); <br/>}< br/> @ override <br/> Public void widgetdefaselecselected (selectionevent arg0) {<br/> // todo auto-generated method stub <br/>}< br/>}); <br/> pasteitem. addselectionlistener (New selectionlistener () {<br/> @ override <br/> Public void widgetselected (selectionevent arg0) {<br/> // todo auto-generated method stub <br/> system. out. println ("Paste"); <br/>}< br/> @ override <br/> Public void widgetdefaselecselected (selectionevent arg0) {<br/> // todo auto-generated method stub <br/>}< br/>}); <br/> copyitem. addselectionlistener (New selectionlistener () {<br/> @ override <br/> Public void widgetselected (selectionevent arg0) {<br/> // todo auto-generated method stub <br/> system. out. println ("copy"); <br/>}< br/> @ override <br/> Public void widgetdefaselecselected (selectionevent arg0) {<br/> // todo auto-generated method stub <br/>}< br/>}); <br/> return popmenu; <br/>}< br/> Public static void main (string [] ARGs) {<br/> menutest. createmenu (); <br/>}< br/> the code forgets who obtained the blog...

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.