0

我有一个 Vaadin 选项卡菜单,每个选项卡当然包含不同的内容。现在,如果内容是具有动态生成内容的自己的类,如果选择了选项卡,我如何强制更新内容?

我的 content class implements View,因此如果我使用来更改视图,它enter(ViewChangeEvent event)通常会被触发。Navigator但是,后来我用一个tab来改变内容,没有ViewChangeEvent触发。如何触发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
    }
}
4

1 回答 1

1

你可以使用Shortcut Listener这样的

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");
    }
});
于 2014-05-22T09:59:11.653 回答