Tamam bkz yaşlı (bkz çalışma var önceki girişimler için bu cevabın sürümleri;)).
Benim çözümüm Mail example dayanmaktadır. çalışma kodu:
public class SplitTest implements EntryPoint {
private static TestUiBinder uiBinder = GWT.create(TestUiBinder.class);
interface TestUiBinder extends UiBinder<SplitLayoutPanel, SplitTest> {
}
/**
* This is the entry point method.
*/
public void onModuleLoad() {
SplitLayoutPanel outer = uiBinder.createAndBindUi(this);
RootLayoutPanel.get().add(outer);
}
}
UiBinder * .ui.xml:
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
<ui:style>
.conversationPanelContainer, .conversationPanel, .messageTextAndSendPanel, .messageText {
font-weight: bold;
}
</ui:style>
<g:SplitLayoutPanel>
<g:north size="700">
<g:VerticalPanel>
<g:ScrollPanel styleName="{style.conversationPanelContainer}">
<g:FlexTable ui:field="conversationPanel" styleName="{style.conversationPanel}"></g:FlexTable>
</g:ScrollPanel>
<g:HorizontalPanel styleName="{style.messageTextAndSendPanel}">
<g:TextBox ui:field="messageText" styleName="{style.messageText}"></g:TextBox><g:Button ui:field="sendButton">Send</g:Button>
</g:HorizontalPanel>
</g:VerticalPanel>
</g:north>
<g:south size="300">
<g:Button>TestButton</g:Button>
</g:south>
</g:SplitLayoutPanel>
</ui:UiBinder>
Not şeylerin bir numara: Herşeyden
- İlk: Eğer UiBinder XML bir hata vardı şablon: değil,
<g:button>
(büyük/küçük harfe duyarlı)
- Bize değil
RootLayoutPanel
kullanımı ual RootPanel
- Hala bütün
LayoutPanel
s zımbırtısıyla hakkında biraz kafam karıştı - Mail example onlar bir SplitLayoutPanel
bir DockLayoutPanel
iç içe, henüz sadece DockLayoutPanel
açıkça RootLayoutPanel
eklenir kullanmak - Ben anlamak duyuyorum automagicallylar SplitLayoutPanel
o Ayrıca eklenir (yeniden boyutlandırma olaylarını alabilir, vb.)? Ana LayoutPanel'de yer alan diğer bazı Widget'lara ne dersiniz? RootLayoutPanel
'a açık bir şekilde eklenmeli mi yoksa sadece bu Widget/Composite'in kökeni mi yoksa bu mümkün değil mi? Bunu daha fazla sürdürmek için gerçekten zamanım yok - başka biri için ödev olarak bırakacağım;)
BTW: Bu kodu Quirks modu ve Standartlar modu altında kontrol ettim - I don ' Bir fark görmek, her iki çalışma O_o (bununla birlikte, bu SplitLayoutPanel
'un basit bir kullanımıdır - daha karmaşık örnekler muhtemelen Quirks modunda bazı garip davranışlara ve/veya işleme hatalarına neden olacaktır)
İstisna yok mu? (hem DevMode'da hem de Firebug/diğer tarayıcı konsolu'nda) –
Şu an iş bilgisayarımdan uzaktayım, bu yüzden kesin bir şey söyleyemem ama bazı RPC çağrılarının Firebug konsolu penceresinde gönderilmesini gördüm (I). UI eksikliğine rağmen, her x dakika yürüten bir RPC çağrısı var. İstisnalar olsaydı hiçbir şey olmazdı, değil mi? –