2014-07-16 26 views
1

我想添加一个ClickListener到Vaadin的MenuBar的Item。Vaadin的MenuBar监听器

我知道正常情况下,我得到了工作:

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

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

在我的申请,我与MVP工作,所以应该运行的代码,是在其他类比代码正在定义菜单栏。

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

回答

1

当您将一个项目添加到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()); 
    } 
});