TabLayoutPanel禁用选项卡GWT
如何在TabLayoutPanel中禁用选项卡(即用户单击时无法打开选项卡)?我在线搜索,但无法找到解决方案 谢谢使用:TabLayoutPanel禁用选项卡GWT,gwt,gwt-tablayoutpanel,Gwt,Gwt Tablayoutpanel,如何在TabLayoutPanel中禁用选项卡(即用户单击时无法打开选项卡)?我在线搜索,但无法找到解决方案 谢谢使用: TabLayoutPanel myPanel=new TabLayoutPanel(); //添加子项。。。 myPanel.addBeforeSelectionHandler(新的BeforeSelectionHandler(){ @凌驾 在BeforeSelection(BeforeSelectionEvent事件)上的公共无效{ //简单if语句-测试是否应禁用该选项卡
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您可以通过将classtab
转换为Widget
TabPanel tabPanel = new TabPanel();
((Widget)tabPanel().getTabBar().getTab(tabsToDisable.iterator().next())).addStyleName("disabled");
如何重新启用它?仅调用event.cancel()在BeforeSelectionHandler中,当您希望禁用选项卡时。我的要求是,当具有选项卡的页面第一次加载时,我需要禁用该选项卡。但当出现问题时,我需要再次启用该选项卡。如何实现此目的?在onBeforeSelection()中的if语句中测试是否应根据应用程序状态禁用选项卡。是的,我有一个if语句,在应用程序加载时禁用选项卡。但在应用程序加载后,我需要启用选项卡,因此我肯定需要将其状态从禁用更改为启用。问题是关于TabLayoutPanel
类型,而不是TabBar
@JasonTerkTabLayoutPanel
包含一个TabBar
!这是位于tablayotpanel
顶部的一部分,用于保存选项卡。您可以使用mytablayotpanel.getTabBar()
访问tablayotpanel
的TabBar
(参见我的答案)。我已经更新了我的答案以使其更清楚。类型上没有getTabBar
方法。也许你的意思是?@JasonTerk哦,是的-哦,对不起!你是对的-我的意思是TabPanel
。我已经更正了我的代码。
TabPanel tabPanel = new TabPanel();
((Widget)tabPanel().getTabBar().getTab(tabsToDisable.iterator().next())).addStyleName("disabled");