Java 如何在选择更改时更新vaadin选项卡中的内容?
我有一个Vaadin选项卡菜单,每个选项卡当然包含不同的内容。现在,如果内容是具有动态生成内容的自己的类,那么如果选择了选项卡,如何强制更新内容 我的内容类Java 如何在选择更改时更新vaadin选项卡中的内容?,java,vaadin,vaadin4spring,vaadin-navigator,Java,Vaadin,Vaadin4spring,Vaadin Navigator,我有一个Vaadin选项卡菜单,每个选项卡当然包含不同的内容。现在,如果内容是具有动态生成内容的自己的类,那么如果选择了选项卡,如何强制更新内容 我的内容类实现了视图,因此它是一个enter(viewchangevent事件),如果我使用导航器更改视图,通常会触发该事件。 但是,如果我使用一个选项卡来更改内容,则不会触发viewchangevent。 如何触发选项卡特定视图内容的enter()方法 @VaadinComponent @UIScope public class MyView ext
实现了视图
,因此它是一个enter(viewchangevent事件)
,如果我使用导航器
更改视图,通常会触发该事件。
但是,如果我使用一个选项卡来更改内容,则不会触发viewchangevent
。
如何触发选项卡特定视图内容的enter()
方法
@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
}
}
您可以像这样使用
快捷方式侦听器
component.addShortcutListener(new ShortcutListener("caption", KeyCode.ENTER, null) {
private static final long serialVersionUID = 1L;
@Override
public void handleAction(Object sender, Object target) {
label.setValue("entered");
}
});
为什么不使用TabSheet.SelectedTabChangeEvent和listener?医生。