2010-05-12 20 views
5

Sadece ui.xml dosyasını kullanarak söz konusu paneli kullanarak mutlak mizanpaj yapmak istiyorum, ancak belgenin kod üzerinde yoğunlaşması ve mizanpajın yok sayılması nedeniyle bunun mümkün olup olmadığı net değil dil tamamen. Öğreticinin bundan bahsetmediği için, imkansız ama emin olmak isterim.Bir UIBinder XML dosyasında AbsolutePanel nasıl kullanılır

cevap

9

Bu eski olduğunu biliyorum ama onlar UiBinder içinde

AbsolutePanel elemanları şablonlar elemanları kullanılarak, mutlak pozisyon ile çocuklarını hazırlamak AbsolutePanel

UiBinder Şablonları'ndan

Kullanım için UiBinder güncellendi. Öğedeki her öğenin piksellerde sol ve üst nitelikleri olmalıdır. Ayrıca, herhangi bir konum belirtilmemiş şekilde, widget çocuklarını doğrudan içerebilirler. Örneğin

: onay

<g:AbsolutePanel> 
    <g:at left='10' top='20'> 
    <g:Label>Lorem ipsum...</g:Label> 
    </g:at> 
    <g:Label>...dolores est.</g:Label> 
</g:AbsolutePanel> 
+0

Bu şimdi doğru cevap. Bu yüzden güncellendi. – nick

2

Haklısınız - şu anda bunu yapmanın bir yolu yok. Bu , DockLayoutPanel için yapıldığı gibi bazı özel sözdizimi ekleyerek gelecekteki bir GWT sürümünde adreslenebilir. Ama sanmam - Böyle kod yazmak isterdim: Java Beans gibi "fasulye" (ile

<g:AbsolutePanel ui:field="absolutePanel"> 
    <g:Button x="50px" y="50px">Test</g:Button> 
</g:AbsolutePanel> 

Ancak bu çatışmalar, siz bir getSomethingCool yöntemi varsa, UiBinder içinde somethingCool="kewl" yazabilir kodu ve uygun get/set yöntemi) stilini arayacaktır. Çünkü Button, setX/Y yöntemine sahip değildir. Bu, setX/Y çağrılarını derleme zamanında mevcut yöntemlere (CSS konumlandırma, vb.) Uygun çağrılarla değiştirerek atlanabilir. Fakat bu, bir başka özel davranışı tanıtıyor, sarma Widget/Panel'e bağlı - GWT devlerinin bundan kaçınmak istediğini düşünüyorum.

+0

teşekkürler. Muhtemelen yazdığı şeylerin çizgileri boyunca olayları ayarlamak için kullanabilirdim ama bu sadece çok fazla sorun. – nick

+0

Bu, doğru cevap olarak kullanılmış, yeni bilgi için kontrol edildi. – nick

İlgili konular