回答
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
- 2. 定製TabLayoutPanel在GWT
- 3. TabLayoutPanel將標籤右對齊
- 4. GWT TabLayoutPanel總是摺疊
- 5. GWT - 設計TabLayoutPanel的問題
- 6. GWT TabLayoutPanel不呈現圖形內容
- 7. 從TabLayoutPanel程序刪除選項卡,GWT
- 8. GWT標籤像Hyperink
- 9. 隱藏TabLayoutPanel或TabPanel標題
- 10. Swift 3標籤欄禁用標籤
- 11. 禁用Struts.html標籤選項標籤
- 12. 使用TabLayoutPanel和GWT的時髦佈局問題?
- 13. 複選框標籤禁用
- 14. 禁用,不隱藏標籤
- 15. IOS禁用標籤欄
- 16. 禁用特定標籤
- 17. GWT/GXT標籤編輯器?
- 18. GWT垂直標籤,如iGoogle
- 19. GWT標籤對齊和CSS
- 20. GWT標籤面板創建
- 21. 標籤背景顏色gwt
- 22. GWT UIBinder標籤面板
- 23. 如何用gwt添加h1標籤
- 24. GWT TextArea在TabLayoutPanel的ScrollPanel中 - 如何取得100%的高度?
- 25. 如何捕捉GWT上的選項卡更改事件TabLayoutPanel
- 26. 重複GWT的TabLayoutPanel的<g:tab>元素
- 27. 如何在javascript中禁用標籤標籤
- 28. 如何禁用/刪除android活動標籤和標籤欄?
- 29. jQuery UI的標籤禁用標籤導航
- 30. 如何禁用標籤或標籤從ib顯示文本後
我如何再次啓用它? – Barry 2011-02-28 20:56:28
當您希望禁用選項卡時,只需在BeforeSelectionHandler中調用event.cancel()。 – 2011-02-28 21:07:28
我的要求是,我需要該選項卡禁用時,該頁面有選項卡加載第一次。但是當發生什麼事情時,我需要再次啓用該選項卡。如何實現這一目標? – Barry 2011-02-28 21:16:43