GWT - 带子菜单的弹出菜单 - 建议一些UI lib

时间:2013-04-15 18:07:19

标签: gwt

我正在寻找某种GWT库,它有弹出式菜单和子菜单支持;我的意思是类似this 但没有上方菜单栏,因为我需要在某些按钮点击上显示它,例如;

这样的东西而不是MenuBar:

enter image description here

所以我需要你的实用建议在哪里可以找到支持这种组件的gwt库?我知道它是弹出式菜单组合,但我有兴趣找到一个最佳的框架解决方案或不太重的东西......

P.S> GWT 2.3

由于

2 个答案:

答案 0 :(得分:2)

解决方案1 ​​ -

仅使用原生GWT的BareBones实现将如下所示:

public void onModuleLoad()
{
    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 );
}

解决方案2 -

我们通常发现很难设置弹出窗口,菜单项并处理其他古怪的行为。所以我们只是在垂直面板中包裹按钮序列,根据需要设置样式并将其显示在DialogBox中。

解决方案3 - 第三方库

  1. GwtQuery - 您可以根据jquery包装自己的。
  2. GXT
  3. Vaadin
  4. GWTBootstrap
  5. JSNI over jquery,bootstrap或任何其他喜欢的js lib

答案 1 :(得分:1)

据我所知,没有UI库特别是弹出窗口和子菜单。至于您的要求,您可以为此实现自己的小部件。创建一个flowpanel或Horizo​​ntal面板。在其中插入2个图像,一个用于菜单图像,另一个用于箭头图像。在箭头图像中添加一个单击处理程序并显示所需的弹出窗口。