devre dışı bırakma (yani o tıkladığında sekme açamıyorum kullanıcı) TabLayoutPanel I çevrimiçi arama ama bir çözümüTabLayoutPanel bir Sekme GWT
Teşekkür
bulmak mümkün değildi?devre dışı bırakma (yani o tıkladığında sekme açamıyorum kullanıcı) TabLayoutPanel I çevrimiçi arama ama bir çözümüTabLayoutPanel bir Sekme GWT
Teşekkür
bulmak mümkün değildi?kullanın BeforeSelectionHandler
: Gmail'de sekmelerin farklı engelli sekmeyi stil vermek istersek, sekme widget'ı almak için TabLayoutPanel#getTabWidget
kullanmak ve buna bir stil adı ekleyebilir
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();
}
}
});
. Bunu daha sonra karşıdan karşıya gelir herkes için
: GWT 1.6 sürümünden beri
, etkinleştirme/devre dışı bırakma sekmeleri GWT yerleşiktir. TabBar
sınıfı, belirli bir dizindeki sekmeyi etkinleştiren/devre dışı bırakan setTabEnabled(int index, boolean enabled)
yöntemine sahiptir.
Örneğin bir TabPanel tüm sekmelerin devre dışı bırakmak için:
TabPanel myTabPanel = new TabPanel();
// Add children
TabBar tabBar = myTabPanel.getTabBar();
for(int i=0; i<tabBar.getTabCount(); i++) {
tabBar.setTabEnabled(i, false);
}
fazla bilgi için GWT javadoc bakınız.
Devre dışı bırakılmış sekmeleri farklı şekilde biçimlendirmek için (hangi GWT otomatik olarak yapılır, ancak stili değiştirmek isterseniz): devre dışı bırakılmış tabBarItem
div'ler başka bir CSS sınıfı verilir: gwt-TabBarItem-disabled
.
Soru, 'TabBar' değil 'TabLayoutPanel 'türüyle ilgiliydi. –
@JasonTerk 'TabLayoutPanel' bir' TabBar' içeriyor! Sekmeleri tutan 'TabLayoutPanel' nin en üstündeki kısım budur. 'MyTabLayoutPanel.getTabBar()' kullanarak '' tabLayoutPanel' 'tabBar''na erişebilirsiniz (cevabıma bakın). Bunu daha açık hale getirmek için cevabımı güncelledim. –
['TabLayoutPanel'] öğesinde" getTabBar "yöntemi yok (http://google-web-toolkit.googlecode.com/svn/javadoc/2.4/com/google/gwt/user/client/ui/TabLayoutPanel. html) türü. Belki de ['TabPanel'] kastediyorsunuz (http://google-web-toolkit.googlecode.com/svn/javadoc/2.4/com/google/gwt/user/client/ui/TabPanel.html)? –
Sen nasıl geri tekrar etkinleştirebilirim Widget
TabPanel tabPanel = new TabPanel();
((Widget)tabPanel().getTabBar().getTab(tabsToDisable.iterator().next())).addStyleName("disabled");
için döküm sınıfının
Tab
tarafından sekme stilini erişebilir? – BarryYalnızca sekmenin devre dışı bırakılmasını istediğinizde BeforeSelectionHandler'da event.cancel() öğesini çağırın. –
Ihtiyacım olan şey, sekme olan sayfa ilk kez yüklendiğinde devre dışı bırakmak için sekmeye ihtiyacım var.Ama bir şey olduğunda, sekmeyi tekrar etkinleştirmem gerekiyor.Nasıl bunu başarabilirim? – Barry