Как установить ширину ListBox с Java в Vaadin? - PullRequest
0 голосов
/ 18 декабря 2018

Начиная с Vaadin Flow, ListBox реализован для ListSelect.Но теперь у меня проблема, потому что я не могу установить ширину.

private final ListBox<Absence> lbRequests=new ListBox<>();
lbRequests.setWidth("100%");//setWidth isn't exist

1 Ответ

0 голосов
/ 18 декабря 2018

Это потому, что метод 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");

Редактировать: Эта проблема уже исправлена ​​в основной ветке и больше не будет существовать в следующем выпуске.

...