Это потому, что метод setWidth()
является производным от HasSize
, а не от Component
.ListBox
не реализует HasSize
.
Чтобы иметь возможность установить ширину и высоту ListBox
, вы можете создать свой собственный класс, который затем будете использовать вместо 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: вы также можете сделать то же, что и HasSize, если вы хотите исправить это только для одного экземпляра ListBox и, следовательно, не хотите использовать новый класс.
listbox.getElement().getStyle().set("width", "155px");
Редактировать: Эта проблема уже исправлена в основной ветке и больше не будет существовать в следующем выпуске.