2010-11-15 23 views
5

StackPanel veya DecoratedStackPanel gibi bir anda yığınta birden fazla panel gösterme yeteneğine sahip bir bileşen var mı? İstediğim tüm panelleri genişletme veya daraltma seçeneğine sahip olmak ister.GWT StackPanel sınırlaması?

cevap

3

Tamam, cevabım olmadığı için, bu benim için çalışmış olan şey. Google, işlevselliği eklemek veya değiştirmek için mevcut panelleri genişletmeyi gerçekten kolaylaştırmıyor. Bu yüzden, yaptığım kaynak, gwt projemde bir paket halinde StackPanel.java, DecoratorPanel.java ve DecoratedStackPanel.java kopyalarını paketledim. Bunun mümkün olduğuna eminim

public void showStack(int index) { 

    if ((index >= getWidgetCount()) || index < 0) { 
     return; 
    } 

    visibleStack = index; 
    setStackVisible(visibleStack, !getWidget(visibleStack).isVisible()); 


    } 

:

Gerçekten yapmak için gerekli ana değişiklik böyle bir şey için

public void showStack(int index) { 
    if ((index >= getWidgetCount()) || (index < 0) || (index == visibleStack)) { 
     return; 
    } 

    if (visibleStack >= 0) { 
     setStackVisible(visibleStack, false); 
    } 

    visibleStack = index; 
    setStackVisible(visibleStack, true); } 

den StackPanel.java sınıfta showStack(int index) davranışını değiştirmek oldu Bunu biraz temizlemek için, ama bu hile yaptı. Diğer sınıfların aynı pakete kopyalanması gerekmesinin nedeni, StackPanel.java'un yalnızca paket görünürlüğüne sahip olan yöntemlerinden bazılarına gönderme yapmasıdır.

+1

GWT 2.5'te artık diğer dersleri kopyalamaya gerek kalmadı. –