Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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
TabLayoutPanel禁用选项卡GWT_Gwt_Gwt Tablayoutpanel - Fatal编程技术网

TabLayoutPanel禁用选项卡GWT

TabLayoutPanel禁用选项卡GWT,gwt,gwt-tablayoutpanel,Gwt,Gwt Tablayoutpanel,如何在TabLayoutPanel中禁用选项卡(即用户单击时无法打开选项卡)?我在线搜索,但无法找到解决方案 谢谢使用: TabLayoutPanel myPanel=new TabLayoutPanel(); //添加子项。。。 myPanel.addBeforeSelectionHandler(新的BeforeSelectionHandler(){ @凌驾 在BeforeSelection(BeforeSelectionEvent事件)上的公共无效{ //简单if语句-测试是否应禁用该选项卡

如何在TabLayoutPanel中禁用选项卡(即用户单击时无法打开选项卡)?我在线搜索,但无法找到解决方案

谢谢

使用:

TabLayoutPanel myPanel=new TabLayoutPanel();
//添加子项。。。
myPanel.addBeforeSelectionHandler(新的BeforeSelectionHandler(){
@凌驾
在BeforeSelection(BeforeSelectionEvent事件)上的公共无效{
//简单if语句-测试是否应禁用该选项卡
//可能会更复杂
if(event.getItem()==1){
//取消事件将阻止选择选项卡。
event.cancel();
}
}
});

如果要使禁用选项卡的样式与启用选项卡的样式不同,可以使用获取选项卡小部件并向其添加样式名称。

对于以后遇到此问题的任何人:

从GWT版本1.6开始,GWT中内置了禁用/启用选项卡。
TabBar
类有一个方法
setTabEnabled(int-index,boolean-enabled)
,该方法在给定索引处启用/禁用选项卡

例如,要禁用TabPanel中的所有选项卡,请执行以下操作:

TabPanel myTabPanel = new TabPanel();
// Add children

TabBar tabBar = myTabPanel.getTabBar();
for(int i=0; i<tabBar.getTabCount(); i++) {
    tabBar.setTabEnabled(i, false);
}
TabPanel myTabPanel=new TabPanel();
//添加子项
TabBar TabBar=myTabPanel.gettabar();

对于(inti=0;i您可以通过将class
tab
转换为
Widget

TabPanel tabPanel = new TabPanel();
((Widget)tabPanel().getTabBar().getTab(tabsToDisable.iterator().next())).addStyleName("disabled");

如何重新启用它?仅调用event.cancel()在BeforeSelectionHandler中,当您希望禁用选项卡时。我的要求是,当具有选项卡的页面第一次加载时,我需要禁用该选项卡。但当出现问题时,我需要再次启用该选项卡。如何实现此目的?在onBeforeSelection()中的if语句中测试是否应根据应用程序状态禁用选项卡。是的,我有一个if语句,在应用程序加载时禁用选项卡。但在应用程序加载后,我需要启用选项卡,因此我肯定需要将其状态从禁用更改为启用。问题是关于
TabLayoutPanel
类型,而不是
TabBar
@JasonTerk
TabLayoutPanel
包含一个
TabBar
!这是位于
tablayotpanel
顶部的一部分,用于保存选项卡。您可以使用
mytablayotpanel.getTabBar()
访问
tablayotpanel
TabBar
(参见我的答案)。我已经更新了我的答案以使其更清楚。类型上没有
getTabBar
方法。也许你的意思是?@JasonTerk哦,是的-哦,对不起!你是对的-我的意思是
TabPanel
。我已经更正了我的代码。
TabPanel tabPanel = new TabPanel();
((Widget)tabPanel().getTabBar().getTab(tabsToDisable.iterator().next())).addStyleName("disabled");