2014-12-03 69 views
0

添加一個空格我想在DockLayoutPanel南添加兩個小部件,所以它會顯示爲這樣:GWT - 如何DockLayoutPanel


中央面板


空間14px的高度的


29px高度的小窗口


我的問題是:如果我用addSouth(widget, 29);它沒有空間。
如果我使用addSouth(widget, 43);它也沒有空間,但小部件現在高度爲43px。
我想將窗口部件的邊距定義爲14px,但它不能幫助我,因爲窗口部件的邊距覆蓋了中間面板。
我該怎麼辦?我也試着做兩次addSouth,它產生了最好的結果,但它也不如預期的那樣,我更喜歡只使用一個addSouth。

回答

0

您可以嘗試在單獨的LayoutPanel中添加小部件,然後將面板添加到停靠面板。 LayoutPanel內部只是從頂部指定空間。

LayoutPanel panel = new LayoutPanel(); 
panel.add(widget); 
panel.setWidgetLeftRight(widget, 0, Style.Unit.PX, 0, Style.Unit.PX); 
panel.setWidgetTopBottom(widget, 14, Style.Unit.PX, 0, Style.Unit.PX); 

dockPanel.addSouth(panel, 43); 
+0

我會盡力的,但是...是不是有一個正常的方式做到這一點? – Aharon 2014-12-04 07:42:37

+0

你可以通過使用CSS玩一點點。 GWT中的面板並不包含所有內容,您需要將它們組合才能達到所需的結果。 – thepun599 2014-12-04 10:12:23

0

設置在DockPanel使用

dockPanel.setSpacing(14);

部件之間的距離,如果你想的間距只爲你必須使用CSS或更高CellHeight添加到DockPanel中控件某個Widget 。

dockPanel.setCellHeight(widget1, //widget1.heigth+14px);

放置小工具在電池底部
dockPanel.setCellVerticalAlignment(widget1, HasVerticalAlignment.ALIGN_BOTTOM);


CSS:

.gwt-Label-foo { 
    margin-top: 14px; 
} 

然後添加dependentStyle到你的widget(在這種情況下, a Labelwidget.addStyleDependentName("foo");

幫忙看看這裏:Add a StyleDependetName這裏:CSS Styling of Widgets