2012-07-12 79 views
1

我有一個水平面板與3個按鍵:返回,下一步和取消。我已經做了水平對齊的權利,但只有下一步和取消按鈕遵循此對齊。按鈕水平面板不想右對齊

下面是代碼:

HorizontalPanel buttons = new HorizontalPanel(); 
buttons.setWidth("100%"); 

cancel = new Button("Cancel"); 
next = new Button("Next"); 
back = new Button("Back"); 

buttons.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT); 
buttons.add(back); 
buttons.setCellWidth(back, "98%"); 
buttons.add(nextBtn); 
buttons.setCellWidth(next, "1%"); 
buttons.add(cancel); 
buttons.setCellWidth(cancel, "1%"); 

問題是與該面板的寬度。但是如果我刪除它,我所有的按鈕都是左對齊的。作爲一種解決方法,我可以使用false按鈕,這將是不可見的,並具有單元格寬度= 97%,後退按鈕的單元格寬度爲1%。但是,這不是我所需要的,因爲內存少量inspite這個隱形按鈕消耗,它仍然是一個內存:)

這有什麼對齊的問題呢?面板寬度可能有問題?希望您的幫助,提前謝謝。

FlowPanel panel = new FlowPanel(); 
panel.setWidth("100%"); 

cancel = new Button("Cancel"); 
cancel.getElement().getStyle().setFloat(Float.RIGHT); 
next = new Button("Next"); 
next.getElement().getStyle().setFloat(Float.RIGHT); 
back = new Button("Back"); 
back.getElement().getStyle().setFloat(Float.RIGHT); 

panel.add(back); 
panel.add(nextBtn); 
panel.add(cancel); 

回答

2

你可以做到這一點使用CSS容易得多。有了它,你可以調整它的部件。

嘗試以下操作:

buttons.setCellHorizontalAlignment(backButton, HasHorizontalAlignment.ALIGN_RIGHT); 
buttons.setCellHorizontalAlignment(nextButton, HasHorizontalAlignment.ALIGN_RIGHT); 
buttons.setCellHorizontalAlignment(cancelButton, HasHorizontalAlignment.ALIGN_RIGHT); 
+0

謝謝,這個幫助了我。 – Dragon 2012-07-13 08:52:20

2

有一個在Horizo​​ntalPanelsetCellHorizo​​ntalAlignment()屬性:

+0

好的解決方案,但「返回」按鈕仍然左對齊:( – Dragon 2012-07-13 08:52:44