如何在 Vaadin 中使用 Java 设置 ListBox 的宽度?
How to set width of ListBox with Java in Vaadin?
自 Vaadin Flow 以来,ListBox 是为 ListSelect 实现的。但是现在我有一个问题,因为我不能设置宽度。
private final ListBox<Absence> lbRequests=new ListBox<>();
lbRequests.setWidth("100%");//setWidth isn't exist
那是因为 setWidth()
方法派生自 HasSize
而不是 Component
。 ListBox
未实施 HasSize
.
为了能够设置 ListBox
的宽度和高度,您可以制作自己的 Class 然后使用它来代替 ListBox
:
public class SizedListBox<T> extends ListBox<T> implements HasSize {
public SizedListBox(){
super();
}
}
SizedListBox<Absence> lbRequests = new SizedListBox<>();
lbRequests.setWidth("100%"); // exists and works, I tested it
如@JensJansson 所述:如果您只想为 ListBox 的一个实例修复此问题,您也可以执行与 HasSize 相同的操作,因此不希望使用新的 class。
listbox.getElement().getStyle().set("width", "155px");
编辑:这个问题现在已经在 master 分支中修复,下一个版本将不再存在。
自 Vaadin Flow 以来,ListBox 是为 ListSelect 实现的。但是现在我有一个问题,因为我不能设置宽度。
private final ListBox<Absence> lbRequests=new ListBox<>();
lbRequests.setWidth("100%");//setWidth isn't exist
那是因为 setWidth()
方法派生自 HasSize
而不是 Component
。 ListBox
未实施 HasSize
.
为了能够设置 ListBox
的宽度和高度,您可以制作自己的 Class 然后使用它来代替 ListBox
:
public class SizedListBox<T> extends ListBox<T> implements HasSize {
public SizedListBox(){
super();
}
}
SizedListBox<Absence> lbRequests = new SizedListBox<>();
lbRequests.setWidth("100%"); // exists and works, I tested it
如@JensJansson 所述:如果您只想为 ListBox 的一个实例修复此问题,您也可以执行与 HasSize 相同的操作,因此不希望使用新的 class。
listbox.getElement().getStyle().set("width", "155px");
编辑:这个问题现在已经在 master 分支中修复,下一个版本将不再存在。