我是Vaadin的新手,我正在使用TabSheet,我附上了一些标签。我想知道我是否可以从他们的标题中获得更多功能。 例如,当选择了一个标签并且用户点击其标题时,就会出现一个下拉菜单。 我已经尝试过TabSheet的现有监听器,并得出结论,我必须制作一个自定义监听器。问题是,当我点击选定的标签标题时,我无法找到触发事件的方法......
答案 0 :(得分:2)
您可以在TabSheet上使用SelectedTabChangeListener。单击标题时会触发事件,您可以重新选择当前标签等。这会很麻烦。
为什么不使用MenuBar?这不是你想要的吗? https://demo.vaadin.com/valo-theme/#!menubars
答案 1 :(得分:1)
我有同样的问题(Vaadin 7.4),你可以做的是你可以用<div onclick="...">captionText</div>
包围标题标题并添加一个JavaScript回调函数:
final TabSheet sheet = new TabSheet();
sheet.setTabCaptionsAsHtml(true); // don't forget this!
// This is the callback
JavaScript.getCurrent().addFunction("clickedTab", new JavaScriptFunction() {
@Override
public void call(JsonArray arguments) {
LOGGER.info(arguments.getString(0)); // this is 'some identifier'
}
});
final TabSheet.Tab tab = sheet.addTab(component, "<div onclick=\"clickedTab('some identifier');\">captionText/div>");