You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ComboBoxItemSize.java 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package com.vaadin.tests.components.combobox;
  2. import java.util.ArrayList;
  3. import java.util.Arrays;
  4. import java.util.List;
  5. import java.util.Optional;
  6. import com.vaadin.annotations.Widgetset;
  7. import com.vaadin.data.provider.DataProvider;
  8. import com.vaadin.server.VaadinRequest;
  9. import com.vaadin.tests.components.AbstractTestUI;
  10. import com.vaadin.tests.widgetset.TestingWidgetSet;
  11. import com.vaadin.ui.Button;
  12. import com.vaadin.ui.ComboBox;
  13. import com.vaadin.ui.Label;
  14. @Widgetset(TestingWidgetSet.NAME)
  15. public class ComboBoxItemSize extends AbstractTestUI {
  16. @Override
  17. protected void setup(VaadinRequest request) {
  18. List<String> items = new ArrayList<>(Arrays.asList("blue", "red",
  19. "green", "purple", "grey", "orange"));
  20. ComboBox<String> comboBox = new ComboBox<>();
  21. comboBox.setId("combobox");
  22. comboBox.setPageLength(0);
  23. comboBox.setItems(items);
  24. DataProvider<String, ?> dataProvider = comboBox.getDataProvider();
  25. comboBox.setNewItemProvider(value -> {
  26. items.add(value);
  27. dataProvider.refreshAll();
  28. return Optional.ofNullable(value);
  29. });
  30. Button button = new Button("get value");
  31. Label label = new Label("value of combobox");
  32. button.addClickListener(event -> label
  33. .setValue("combobox value " + comboBox.getValue()));
  34. Button reset = new Button("reset");
  35. reset.addClickListener(event -> {
  36. items.clear();
  37. items.addAll(Arrays.asList("blue", "red", "green", "purple", "grey",
  38. "orange"));
  39. dataProvider.refreshAll();
  40. comboBox.setValue(null);
  41. });
  42. addComponents(comboBox, button, label, reset);
  43. }
  44. }