Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 瓦丁·塔布希特。选项卡标题中的附加功能_Java_Vaadin7 - Fatal编程技术网

Java 瓦丁·塔布希特。选项卡标题中的附加功能

Java 瓦丁·塔布希特。选项卡标题中的附加功能,java,vaadin7,Java,Vaadin7,我是Vaadin的新手,我使用一个标签页,在那里我附加了一些标签。我想知道是否可以从他们的标题中获得更多功能。 例如,当一个选项卡被选中,用户单击其标题时,就会出现一个下拉菜单。 我已经对TabSheet的现有侦听器进行了实验,并得出结论,我必须创建一个自定义侦听器。问题是,当我单击所选选项卡标题时,我找不到触发事件的方法 您可以在选项卡上使用SelectedTabChangeListener。单击标题时会触发事件,您可以重新选择当前选项卡,等等。。那会很麻烦 为什么不使用菜单栏呢?这不正是你想

我是Vaadin的新手,我使用一个标签页,在那里我附加了一些标签。我想知道是否可以从他们的标题中获得更多功能。 例如,当一个选项卡被选中,用户单击其标题时,就会出现一个下拉菜单。
我已经对TabSheet的现有侦听器进行了实验,并得出结论,我必须创建一个自定义侦听器。问题是,当我单击所选选项卡标题时,我找不到触发事件的方法

您可以在选项卡上使用SelectedTabChangeListener。单击标题时会触发事件,您可以重新选择当前选项卡,等等。。那会很麻烦

为什么不使用菜单栏呢?这不正是你想要的吗

我也遇到了同样的问题(Vaadin 7.4),您可以做的是用
captionText
包围选项卡标题,并添加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>");
final TabSheet=new TabSheet();
sheet.setTabCaptionsAsHtml(真);//别忘了!
//这是回调
JavaScript.getCurrent().addFunction(“clickedTab”,新的JavaScriptFunction(){
@凌驾
公共void调用(JsonArray参数){
LOGGER.info(arguments.getString(0));//这是“某个标识符”
}
});
最终的TabSheet.Tab=sheet.addTab(组件,“captionText/div>”);

谢谢你的回答,但我正在寻找完全不同的答案。我将使用你的想法菜单栏上的其他东西!From:重新选择当前选定的选项卡不会触发事件。如果他想在当前活动选项卡中显示下拉菜单,这可能是一个问题。事实上,我就是这样,它阻止我使用SelectedTabChangeListener来实现我的目的。非常感谢Erik!我将在一个新项目中尝试一下!