java gwt flowpanel始终是新行
我试图在JavaGWT中使用flowpanel,但是当我添加不同的小部件时,面板会在一行中添加每个小部件,下面是我如何设置flowpanel的java gwt flowpanel始终是新行,java,gwt,flowpanel,Java,Gwt,Flowpanel,我试图在JavaGWT中使用flowpanel,但是当我添加不同的小部件时,面板会在一行中添加每个小部件,下面是我如何设置flowpanel的 public class Test extends Composite { public abstract class SomeWidget<T> extends Composite { ... } public class SomeStringWidget extends SomeWidget<Str
public class Test extends Composite {
public abstract class SomeWidget<T> extends Composite {
...
}
public class SomeStringWidget extends SomeWidget<String> {
...
}
public void setWidget() {
FlowPanel fp = new FlowPanel();
fp.setWidth("100%");
fp.add(new SomeStringWidget());
fp.add(new SomeStringWidget());
...
}
}
公共类测试扩展了复合{
公共抽象类SomeWidget扩展了复合{
...
}
公共类SomeStringWidget扩展了SomeWidget{
...
}
公共void setWidget(){
FlowPanel fp=新的FlowPanel();
fp.setWidth(“100%”);
fp.add(newsomestringwidget());
fp.add(newsomestringwidget());
...
}
}
为什么每个小部件都设置在一个新行中,而不是像flowpanel应该的那样,将小部件添加到一行中,直到没有更多的空间,然后将它们添加到一个新行中???我遇到了同样的问题,并为flowpanel小部件分配了样式,以对齐一行中的小部件。这会解决你的问题
FlowPanel fp = new FlowPanel();
fp.setStyleName("flowPanel_inline");
style.css
.flowPanel_inline
{
display:inline;
}
您还必须在添加的元素中设置相同的样式。Flow Panel使用样式GWT FlowPanel生成一个DIV元素。如果希望内部小部件是内联的,请使用以下CSS创建内部小部件的CSS:
.SomeStringWidget {
display: inline;
}
或
或
在小部件中,在构造函数中设置CSS类.SomeStringWidget
public SomeStringWidget {
this.setStyleName("SomeStringWidget");
}
如果您的SomeStringWidget是一个标签,那么它将始终是一个新行。如果不需要换行符,请使用InlineLabel。您必须在要添加到其中的所有元素中设置此样式。我不知道你添加了什么类型的小部件。但这是必需的。尝试使用不同的样式,如
float:left
或display:inline代码>或显示:内联块代码>如@Sam所建议。因为chrome可能有一些问题。您不必将此样式设置为fp。。。仅在inne窗口小部件中。
.SomeStringWidget {
float: left;
}
public SomeStringWidget {
this.setStyleName("SomeStringWidget");
}