我使用GWT UiBinder创建包含AbsolutePanel的小部件,如下所示:
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<g:VerticalPanel>
<g:Label>Label1</g:Label>
<g:AbsolutePanel height="500" width="500">
<g:at left='10' top='60'>
<g:Label>Label2</g:Label>
</g:at>
<g:at left='10' top='100'>
<g:Label>Label3</g:Label>
</g:at>
</g:AbsolutePanel>
<g:Label>Label4</g:Label>
</g:VerticalPanel>
</ui:UiBinder>
比创建对应的类:
public class TestAbsPanelWidget extends Composite {
@UiTemplate("TestAbsPanelWidget.ui.xml")
interface MyUiBinder extends UiBinder<Widget, TestAbsPanelWidget> {}
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
public TestAbsPanelWidget() {
initWidget(uiBinder.createAndBindUi(this));
}
}
比起我的GWT入口点,使用它像这样:
public class TestAbsPanel2 implements EntryPoint {
public void onModuleLoad() {
RootPanel.get("div_id").add(new TestAbsPanelWidget());
}
}
之后,我在浏览器的屏幕上看到“ Label1”和“ Label4”,但没有“ Label2”和“ Label3”。似乎没有显示AbsolutePanel。我做错了什么请帮助我。
最佳答案
您尝试使用以下方法设置面板的宽度和高度:
<g:AbsolutePanel height="500" width="500">
但您未指定CSS单位。尝试:
<g:AbsolutePanel height="500px" width="500px">
然后您会看到
Label2
和Label3
。关于java - GWT AbsolutePanel未显示在浏览器中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46749449/