我想在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,因此应该运行的代码与定义菜单栏的代码不同。
有没有办法为菜单栏中的特定项添加监听器?
答案 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());
}
});