2014-07-16 29 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()); 
    } 
});