User interface 如何包装标签并将其左对齐到右

User interface 如何包装标签并将其左对齐到右,user-interface,gwt,alignment,User Interface,Gwt,Alignment,我有这个密码 HorizontalPanel hp = new HorizontalPanel(); hp.setWith("100%"); hp.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT); hp.add(new Label("label 1")); hp.add(new Anchor("anchor 1")); hp.add(new Label("label 2")); hp.add(new Anchor("Anchor

我有这个密码

HorizontalPanel hp = new HorizontalPanel();
hp.setWith("100%");
hp.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT);
hp.add(new Label("label 1"));
hp.add(new Anchor("anchor 1"));
hp.add(new Label("label 2"));
hp.add(new Anchor("Anchor 2"));
RootPanel.get().add(hp);
实际上它显示

label1………..主播1………..label2………..主播2

我真的想要像这样的东西

label1主播1 label2主播2

该解决方案或其他解决方案是否有布局?
thx

尝试FlowPanel。它只是从左到右添加小部件,没有间距,并在行尾换行

也许我错过了什么。您是否还需要更多的布局?

您可以保留您的HorizontalPanel,但请尝试以下方法:

HorizontalPanel hp = new HorizontalPanel();
hp.setHorizontalAlignment(HasAlignment.ALIGN_LEFT);
hp.setSpacing(2); // 2 = number of pixels between each item
hp.add(new Label("label 1"));
hp.add(new Anchor("anchor 1"));
hp.add(new Label("label 2"));
hp.add(new Anchor("Anchor 2"));
RootPanel.get().add(hp);
您真正需要的只是一个setspace属性,这样它们就不会直接连接到hp中的下一个单元,并且可以删除hp。setWidth100%。如果在UiBinder中执行此操作,则可以保持100%的宽度,并单独设置每个的宽度,从而允许更大的灵活性


此外,我建议您使用HasAlignment而不是HasHorizontalAlignment和/或HasVerticalAlignment,如果没有其他原因,HasAlignment可移植到所有类型的面板。

我更新了我的问题,因为使用FlowPanel,我可以水平放置标签,但例如,当我添加锚定和标签时,它垂直显示元素将元素显示设置为内联应该可以解决垂直显示问题。例如;label.getElement.getStyle.setDisplayDisplay.INLINE;PistollPanties给出的解决方案对我有效,我将样式放在CSS.div_horizontal{display:inline;}@Moh如果使用InlineLabel而不是常规标签,则不必使用CSS样式。如果不将水平面板宽度设置为任何值,这将起作用