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.

AbstractTextElementSetValue.java 2.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package com.vaadin.tests.elements.abstracttextfield;
  2. import java.time.LocalDate;
  3. import com.vaadin.server.VaadinRequest;
  4. import com.vaadin.tests.components.AbstractTestUI;
  5. import com.vaadin.ui.AbstractField;
  6. import com.vaadin.ui.AbstractTextField;
  7. import com.vaadin.ui.DateField;
  8. import com.vaadin.ui.Label;
  9. import com.vaadin.ui.PasswordField;
  10. import com.vaadin.ui.TextArea;
  11. import com.vaadin.ui.TextField;
  12. public class AbstractTextElementSetValue extends AbstractTestUI {
  13. AbstractTextField[] comps = { new TextField(), new PasswordField(),
  14. new TextArea() };
  15. // one extra label for DateField, which we create in a separate method
  16. Label[] eventCountLabels = new Label[comps.length + 1];
  17. int[] eventCounters = new int[comps.length + 1];
  18. public static final String INITIAL_VALUE = "initial value";
  19. public static final LocalDate INITIAL_DATE = LocalDate.of(2016, 5, 7);
  20. @Override
  21. protected void setup(VaadinRequest request) {
  22. for (int i = 0; i < comps.length; i++) {
  23. comps[i].setValue(INITIAL_VALUE);
  24. eventCountLabels[i] = new Label();
  25. eventCountLabels[i].setCaption("event count");
  26. // create an valueChangeListener to count events
  27. addValueChangeListener(comps[i], i);
  28. addComponent(comps[i]);
  29. addComponent(eventCountLabels[i]);
  30. }
  31. // add one extra label for DateField, which we create in a separate
  32. // method
  33. eventCountLabels[comps.length] = new Label();
  34. DateField df = createDateField();
  35. addValueChangeListener(df, comps.length);
  36. addComponent(df);
  37. eventCountLabels[comps.length].setCaption("event count");
  38. addComponent(eventCountLabels[comps.length]);
  39. }
  40. private void addValueChangeListener(AbstractField<?> field, int index) {
  41. field.addValueChangeListener(event -> {
  42. eventCounters[index]++;
  43. String value = "" + eventCounters[index];
  44. eventCountLabels[index].setValue(value);
  45. });
  46. }
  47. private DateField createDateField() {
  48. DateField df = new DateField();
  49. df.setValue(INITIAL_DATE);
  50. return df;
  51. }
  52. @Override
  53. protected String getTestDescription() {
  54. return "Test type method of AbstractTextField components";
  55. }
  56. @Override
  57. protected Integer getTicketNumber() {
  58. return 13365;
  59. }
  60. }