簡體   English   中英

我使用SplitLayoutPanel時不顯示GWT小部件

[英]GWT widget not showing when I use a SplitLayoutPanel

我是GWT的新手,我正在努力完成我的第一個網頁。

我創建了2個Composite Widgets - ListWidgetMaintenanceWidget 當我將它們都添加到FlowPanel ,它們都會顯示出來。 但是,當我嘗試使用SplitLayoutPanel ,取決於我是如何操作的,要么它們都沒有顯示,要么只顯示其中一個。

以下是我的代碼:

public MainPanel(){
    list = new ListWidget();
    maintenance = new MaintenanceWidget();
    panel = new SplitLayoutPanel();

    panel.addWest(list, 200);
    panel.addNorth(maintenance, 250);


    initWidget(panel);
}

在我的入口點onModuleLoad()方法中,我創建了一個MainPanel實例並將其添加到根窗格。

使用此代碼,我在列表應該位於的西部有一個空白區域,頂部有一個維護小部件,下面有一個水平分割器。

我已經嘗試了panel.add****()方法的不同配置,但沒有任何東西讓我得到我正在尋找的結果。

有任何想法嗎? 謝謝!

確保HTML模板中有doctype聲明(例如, <!doctype html> ),因為SplitLayoutPanel要求瀏覽器在標准模式下工作。

我在這里找到了一些示例代碼它使用了我之前從未見過的方法。

我的代碼現在如下所示:

public MainPanel(){
    list = new ListWidget();
    maintenance = new MaintenanceWidget();
    panel = new SplitLayoutPanel();

    panel.setPixelSize(500, 400);

    panel.addWest(list, 200);
    panel.add(maintenance);     
    initWidget(panel);
}

現在它有效。 謝謝你的幫助!

如果沒有弄錯,SpliLayoutPanel必須附加到文檔的正文。 嘗試類似的東西:

public void onModuleLoad() {
    SplitLayoutPanel panel = new SplitLayoutPanel();

    panel.addWest(new Label("WEST"), 50);
    panel.addNorth(new Label("NORTH"), 50);
    panel.addEast(new Label("EAST"), 50);
    panel.addSouth(new Label("SOUTH"), 50);
    panel.add(new Label("CONTENT HERECONTENT HERECONTENT HERECONTENT HERECONTENT HERECONTENT HERE"));

    RootLayoutPanel.get().add(panel); //This gets the body element and attaches itself to it, then adds panel.
}

不應該太難將它應用到您的代碼中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM