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.

CompatibilityAbstractTextElementSetValue.java 2.7KB

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