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.

IntegerDoubleFieldsWithDataSource.java 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package com.vaadin.tests.components.abstractfield;
  2. import com.vaadin.tests.components.TestBase;
  3. import com.vaadin.tests.util.Log;
  4. import com.vaadin.v7.data.util.ObjectProperty;
  5. import com.vaadin.v7.data.validator.DoubleValidator;
  6. import com.vaadin.v7.data.validator.IntegerValidator;
  7. import com.vaadin.v7.ui.TextField;
  8. public class IntegerDoubleFieldsWithDataSource extends TestBase {
  9. private Log log = new Log(5);
  10. @Override
  11. protected void setup() {
  12. addComponent(log);
  13. TextField tf = createIntegerTextField();
  14. tf.addValidator(new IntegerValidator("Must be an Integer"));
  15. addComponent(tf);
  16. tf = createIntegerTextField();
  17. tf.setCaption("Enter a double");
  18. tf.setPropertyDataSource(new ObjectProperty<>(2.1));
  19. tf.addValidator(new DoubleValidator("Must be a Double"));
  20. addComponent(tf);
  21. }
  22. private TextField createIntegerTextField() {
  23. final TextField tf = new TextField("Enter an integer");
  24. tf.setPropertyDataSource(new ObjectProperty<>(new Integer(2)));
  25. tf.setImmediate(true);
  26. tf.addValueChangeListener(event -> {
  27. try {
  28. log.log("Value for " + tf.getCaption() + " changed to "
  29. + tf.getValue());
  30. log.log("Converted value is " + tf.getConvertedValue());
  31. } catch (Exception e) {
  32. // TODO: handle exception
  33. e.printStackTrace();
  34. }
  35. });
  36. return tf;
  37. }
  38. @Override
  39. protected String getDescription() {
  40. // TODO Auto-generated method stub
  41. return null;
  42. }
  43. @Override
  44. protected Integer getTicketNumber() {
  45. // TODO Auto-generated method stub
  46. return null;
  47. }
  48. }