I have a Vaadin tab menu, each tab contains of course different content. Now, if the content is an own class with dynamically generated content, how can I force the content to be updated if a tab is selected?
My content class implements View
, thus it as a enter(ViewChangeEvent event)
that would be normally triggered if I use the Navigator
to change the view.
However, then I use a tab to change the content, there is no ViewChangeEvent
fired.
How can I though trigger the enter()
method of the specific view content of the tab?
@VaadinComponent
@UIScope
public class MyView extends CssLayout implements View {
private Label label;
public MyView() {
label = new Label("empty");
}
@Override
public void enter(ViewChangeEvent event) {
label.setValue("entered");
}
}
@VaadinComponent
@UIScope
public class MyMenu extends CssLayout {
private TabSheet tabs;
public MyMenu() {
tabs = new TabSheet();
addComponent(tabs);
}
@Autowired
private MyView myview;
@PostConstruct
public void init() {
tabs.addComponent(myview);
//some more tabs
}
}
You can use a
Shortcut Listener
like that