Vaadin的MenuBar听众

时间:2014-07-16 13:31:08

标签: listener vaadin mvp menubar clicklistener

我想在Vaadin中将ClickListener添加到MenuBar的Item中。

我知道我正常工作的正常情况:

MenuBar menubar = new MenuBar();
menubar.addItem("Item", new MenuBar.Command() {

                    @Override
                    public void menuSelected(MenuItem selectedItem) {
                        //Do sth. when item is clicked
                    }
                });

在我的应用程序中,我正在使用MVP,因此应该运行的代码与定义菜单栏的代码不同。

有没有办法为菜单栏中的特定项添加监听器?

1 个答案:

答案 0 :(得分:2)

当您向MenuBar添加项目时,函数addItem(String,Command)实际上会返回MenuItem,以后可以使用。你可以这样做:

MenuItem select = menuBar.addItem("Select", null);

在另一个上下文中,您可以在MenuItem上添加一个监听器,如下所示:

select.setCommand(new Command() {

  @Override
  public void menuSelected(MenuItem selectedItem) {
    System.out.println("You clicked on "+selectedItem.getText());
  }
});