2012-11-19 21 views
1

我正在嘗試使用DockLayoutPanel來佈局我的頁面,並且我使用gwt-platfrom插件來創建演示者和視圖對。當我在view.ui.xml中添加下面的代碼時,我只能看到標題部分,其餘部分不可見,我的方法有什麼問題?無法看到除標題外的DockLayoutPanel內容

<ui:style>   
    .eastPanel { 
     background-color: #F60; 
    } 
    .westPanel { 
     background-color: #EEE; 
    } 
    .northPanel { 
     background-color: #39F; 
    } 
    .southPanel { 
     background-color: #99C; 
    } 
    .centerPanel { 
     background-color: #FFC; 
    }  
</ui:style> 
<g:DockLayoutPanel unit='EM'> 
    <g:north size='5'> 
    <g:FlowPanel styleName="{style.northPanel}"> 
     <g:Label>This is the NORTH panel</g:Label> 
    </g:FlowPanel> 
    </g:north> 
    <g:west size='15'> 
    <g:FlowPanel styleName="{style.westPanel}"> 
     <g:Label>This is the WEST panel</g:Label> 
    </g:FlowPanel> 
    </g:west> 
    <g:center> 
    <g:FlowPanel styleName="{style.centerPanel}"> 
     <g:Label>This is the CENTER panel</g:Label> 
    </g:FlowPanel> 
    </g:center> 
</g:DockLayoutPanel> 

感謝,

+0

您的西子板的寬度爲192em。碼頭佈局面板的整體寬度是多少? –

+0

@Boris @Boris我已將我的西部尺寸更改爲15,並且仍然嘗試不起作用 – SKM

回答

1

我發現沒有透露該網頁的原因有兩個錯誤而寫, 1.只能使用一個單位(UM/PX /百分比)由於我使用結構DockLayoutPanel 2的各邊gwt平臺,我需要使用 RevealRootLayoutContentEvent.fire(this,this); 在我的Presenter的 revealInParent()而不是 RevealRootContentEvent.fire(this,this);

0

如果您沒有更改任何地方的EM,它具有16像素的默認大小。因此,192 em很容易意味着3072 px。我不知道DockLayoutPanel在區域大於屏幕時的行爲方式,但我確信它看起來不漂亮。

另一種可能是您需要設置DockLayoutPanel的高度,如果它沒有從父窗口小部件中獲取。

+0

@Andri Volgin我將西部尺寸更改爲15,並嘗試仍然無法正常工作 – SKM

+0

我用另一種可能的解決方案更新了我的答案。 –

0

我以前遇到過這個問題。只需設置中央面板的高度即可。一切都會正常工作。

0

您需要將DockLayoutPanel加入LayoutPanel

LayoutPanel panel = new LayoutPanel(); 
panel.add(Your DockLayoutPanel); 
+0

你可以多說幾句,以便別人能理解。 –

0

我解決了這個問題。我使用GWTP:

<ui:style> 
.eastPanel { 
    background-color: #F60; 
} 

.westPanel { 
    background-color: #EEE; 
} 

.northPanel { 
    background-color: #39F; 
} 

.southPanel { 
    background-color: #99C; 
} 

.centerPanel { 
    background-color: #FFC; 
} 

header { 
    background: red; 
} 
</ui:style> 


<g:RootLayoutPanel> 
    <g:layer> 
     <g:DockLayoutPanel > 
      <g:north size='60'> 
       <g:FlowPanel styleName="{style.northPanel}"> 
        <g:Label>This is the WEST panel</g:Label> 
       </g:FlowPanel> 
      </g:north> 
      <g:west size='300'> 
       <g:FlowPanel styleName="{style.westPanel}"> 
        <g:Label>This is the WEST panel</g:Label> 
       </g:FlowPanel> 
      </g:west> 
      <g:center> 
       <g:FlowPanel styleName="{style.centerPanel}"> 
        <g:Label>This is the CENTER panel</g:Label> 
       </g:FlowPanel> 
      </g:center> 
     </g:DockLayoutPanel> 
    </g:layer> 
</g:RootLayoutPanel>