GWT를 사용하여 프로그래밍 방식으로 중요한 UI를 성공적으로 작성한 후 UiBinder를 사용하여 동일한 UI를 다시 만들려고합니다. 전에는 어떤 종류의 선언적 UI 시스템도 사용한 적이 없으며 진전을 보이고 있지만 그러한 접근 방식의 이점을 볼 수는 있지만 DecoratorPanel에서 StackLayoutPanel을 올바르게 랩하지 못하고 있습니다. DecoratorPanel 래핑이없이 StackNavigator.javaUiBinder를 사용하여 DecoratorPanel에 StackLayoutPanel을 래핑하는 방법은 무엇입니까?
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
public class StackNavigator extends Composite {
private static StackNavigatorUiBinder uiBinder = GWT.create(StackNavigatorUiBinder.class);
interface StackNavigatorUiBinder extends UiBinder<Widget, StackNavigator> {}
public StackNavigator() {
initWidget(uiBinder.createAndBindUi(this));
}
}
StackNavigator.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" xmlns:bandmates="urn:import:org.redboffin.bandmates.client">
<ui:style>
.gwt-DecoratorPanel {
width: 200px;
height: 200px;
}
.gwt-DecoratorPanel .middleCenter {
height: 100%;
width: 100%;
}
</ui:style>
<g:DecoratorPanel>
<g:StackLayoutPanel unit='PX'>
<g:stack>
<g:header size='20'>Item One</g:header>
<g:Label>TODO : Item One List Widget</g:Label>
</g:stack>
<g:stack>
<g:header size='20'>Item Two</g:header>
<g:Label>TODO : Item Two List Widget</g:Label>
</g:stack>
<g:stack>
<g:header size='20'>Item Three</g:header>
<g:Label>TODO : Item Three List Widget</g:Label>
</g:stack>
</g:StackLayoutPanel>
</g:DecoratorPanel>
</ui:UiBinder>
는 StackLayoutPanel 표시 및 기능은 예상대로. DecoratorPanel에 래핑 될 때 StackLayoutPanel을 볼 수 없습니다. 그 자리에 작은 파란색 원이 있습니다. DecoratorPanel의 모서리 그래픽이 단단히 묶여 있습니다. 이것이 DecoratorPanel에 너비와 높이를 설정하고 GWT API에 제안 된대로 중간 영역을 100 %로 설정하려고 한 이유입니다.
내가 예상 한대로하지 않기 때문에 여기에서 뭔가 오해를해야합니다. 누구든지 도와 줄 수 있습니까?
그들이 뭔가에 포함되지 않은 경우
나를 명확히 해 주셔서 감사합니다. 매트 – Darren