回答
TabLayoutPanel myPanel = new TabLayoutPanel();
// Add children...
myPanel.addBeforeSelectionHandler(new BeforeSelectionHandler<Integer>() {
@Override
public void onBeforeSelection(BeforeSelectionEvent<Integer> event) {
// Simple if statement - your test for whether the tab should be disabled
// will probably be more complicated
if (event.getItem() == 1) {
// Canceling the event prevents the tab from being selected.
event.cancel();
}
}
});
如果你想以不同的樣式禁用選項卡啓用比標籤,你可以使用TabLayoutPanel#getTabWidget
獲得標籤控件,並添加一個樣式名稱給它。
對於任何人誰碰到這個是後話:
由於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);
}
更多信息,請參見GWT javadoc。
若要以不同方式設置禁用的選項卡(GWT會自動執行,但如果您想更改樣式):disabled tabBarItem
div會被賦予另一個CSS類:gwt-TabBarItem-disabled
。
問題是關於'TabLayoutPanel'類型,而不是'TabBar'。 – 2012-02-03 19:04:22
@JasonTerk TabLayoutPanel包含一個TabBar!這是TabLayoutPanel頂部包含選項卡的部分。你可以使用myTabLayoutPanel.getTabBar()來訪問TabLayoutPanel的TabBar(見我的回答)。我已經更新了我的答案,以使其更清楚。 – 2012-02-04 17:22:44
['TabLayoutPanel']上沒有'getTabBar'方法(http://google-web-toolkit.googlecode.com/svn/javadoc/2.4/com/google/gwt/user/client/ui/TabLayoutPanel。 html)類型。也許你的意思是[TabPanel](http://google-web-toolkit.googlecode.com/svn/javadoc/2.4/com/google/gwt/user/client/ui/TabPanel.html)? – 2012-02-05 02:58:18
您可以通過鑄造一流Tab
標籤訪問的風格Widget
TabPanel tabPanel = new TabPanel();
((Widget)tabPanel().getTabBar().getTab(tabsToDisable.iterator().next())).addStyleName("disabled");
- 1. GWT TabLayoutPanel使用cssresources
- 2. GWT關注TabLayOutPanel
- 3. 如何i18N本地化GWT標籤的標題TabLayoutPanel
- 4. TabLayoutPanel和gwt-slider-bar
- 5. 定製TabLayoutPanel在GWT
- 6. TabLayoutPanel將標籤右對齊
- 7. GWT TabLayoutPanel總是摺疊
- 8. GWT - 設計TabLayoutPanel的問題
- 9. GWT TabLayoutPanel到披露面板
- 10. 從TabLayoutPanel程序刪除選項卡,GWT
- 11. GWT TabLayoutPanel不呈現圖形內容
- 12. GWT TabLayoutPanel無法正確顯示
- 13. TRibbon標籤禁用
- 14. 禁用HighCharts標籤
- 15. GWT標籤像Hyperink
- 16. Swift 3標籤欄禁用標籤
- 17. 禁用Struts.html標籤選項標籤
- 18. 隱藏TabLayoutPanel或TabPanel標題
- 19. GWT DataGrid禁用鼠標懸停選擇
- 20. 使用TabLayoutPanel和GWT的時髦佈局問題?
- 21. 警報上禁用標籤
- 22. 禁用Wordpress短標籤
- 23. 禁用,不隱藏標籤
- 24. 禁用特定標籤
- 25. IOS禁用標籤欄
- 26. 複選框標籤禁用
- 27. highcharts禁用某些標籤
- 28. 禁用雙擊SELECT標籤
- 29. GWT標籤鏈接到URL#
- 30. GWT標籤對齊和CSS
我如何再次啓用它? – Barry 2011-02-28 20:56:28
當您希望禁用選項卡時,只需在BeforeSelectionHandler中調用event.cancel()。 – 2011-02-28 21:07:28
我的要求是,我需要該選項卡禁用時,該頁面有選項卡加載第一次。但是當發生什麼事情時,我需要再次啓用該選項卡。如何實現這一目標? – Barry 2011-02-28 21:16:43