2012-07-12 75 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