GWT AbsolutePanel未在浏览器中显示

时间:2017-10-14 21:20:05

标签: java gwt

我使用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没有显示。我做错了什么,请帮助我。

1 个答案:

答案 0 :(得分:2)

您尝试使用以下方式设置面板的宽度和高度

<g:AbsolutePanel height="500" width="500">

但您没有指定CSS单位。尝试:

<g:AbsolutePanel height="500px" width="500px">

您将看到Label2Label3