GWT AbsolutePanel 未在浏览器中显示

GWT AbsolutePanel not shown in browser

我使用 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>

比创建相应的 class :

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">

你会看到 Label2Label3