Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

ComboBoxNewItemProvider.java 1.1KB

1234567891011121314151617181920212223242526272829303132333435
  1. package com.vaadin.tests.components.combobox;
  2. import java.util.Collections;
  3. import java.util.Optional;
  4. public class ComboBoxNewItemProvider
  5. extends ComboBoxSelectingNewItemValueChange {
  6. @Override
  7. protected void configureNewItemHandling() {
  8. comboBox.setNewItemProvider(text -> {
  9. if (delay.getValue()) {
  10. try {
  11. Thread.sleep(2000);
  12. } catch (InterruptedException e1) {
  13. e1.printStackTrace();
  14. }
  15. }
  16. if (Boolean.TRUE.equals(reject.getValue())) {
  17. valueChangeLabel.setValue("item " + text + " discarded");
  18. return Optional.empty();
  19. } else {
  20. items.add(text);
  21. Collections.sort(items);
  22. valueChangeLabel
  23. .setValue("adding new item... count: " + items.size());
  24. comboBox.getDataProvider().refreshAll();
  25. if (noSelection.getValue()) {
  26. return Optional.empty();
  27. }
  28. }
  29. return Optional.of(text);
  30. });
  31. }
  32. }