Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to implement context menu with native GWT (Java)?

I'm new in GWT! Can anyone help me to implement a context menu with GWT? I have seen some example like:

MenuBar options = new MenuBar(true);
        MenuBar gwtPopup = new MenuBar(true);
        options.addItem("GWT", gwtPopup );
        MenuItem entryPoint = new MenuItem(new SafeHtmlBuilder().appendEscaped("EntryPoint").toSafeHtml());
        entryPoint.setScheduledCommand(new ScheduledCommand()
        {
            public void execute()
            {
                Window.alert( "hello" );
            }
        } );
        final DialogBox menuWrapper = new DialogBox( true );
        menuWrapper.add( options );
        gwtPopup.addItem( entryPoint );
        Button showMenu = new Button( "Click me", new ClickHandler()
        {
            public void onClick( ClickEvent event )
            {
                menuWrapper.showRelativeTo( menuWrapper );
            }
        } );

        RootPanel.get().add( showMenu );

but it doesn't works. Thanks.

like image 632
django Avatar asked Nov 22 '25 00:11

django


1 Answers

Just blogged the steps to make it done with my working code for you.

Context Menu or Right Click Handler in GWT.

Here is the essential part of that code.

lable.sinkEvents(Event.ONCONTEXTMENU);
lable.addHandler(
    new ContextMenuHandler() {
        @Override
        public void onContextMenu(ContextMenuEvent event) {
            event.preventDefault();
            event.stopPropagation();
            popupMenu.setPopupPosition(
                event.getNativeEvent().getClientX(),
                event.getNativeEvent().getClientY());
            popupMenu.show();
        }
    }, ContextMenuEvent.getType()
);
like image 103
Suresh Atta Avatar answered Nov 23 '25 15:11

Suresh Atta