Слушатель на MenuBar в Ваадин
Я хочу добавить ClickListener к элементу панели меню в Vaadin.
Я знаю о нормальной ситуации, в которой я работал:
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());
}
});