您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

ValueInputExample.java 5.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. /*
  2. @ITMillApache2LicenseForJavaFiles@
  3. */
  4. package com.vaadin.automatedtests.featurebrowser;
  5. import java.util.Date;
  6. import com.vaadin.data.Property.ValueChangeEvent;
  7. import com.vaadin.ui.CustomComponent;
  8. import com.vaadin.ui.DateField;
  9. import com.vaadin.ui.Field;
  10. import com.vaadin.ui.HorizontalLayout;
  11. import com.vaadin.ui.InlineDateField;
  12. import com.vaadin.ui.Panel;
  13. import com.vaadin.ui.Slider;
  14. import com.vaadin.ui.TextField;
  15. import com.vaadin.ui.VerticalLayout;
  16. import com.vaadin.ui.Window.Notification;
  17. /**
  18. * Shows some basic fields for value input; TextField, DateField, Slider...
  19. *
  20. * @author IT Mill Ltd.
  21. */
  22. public class ValueInputExample extends CustomComponent {
  23. @SuppressWarnings("deprecation")
  24. public ValueInputExample() {
  25. final VerticalLayout main = new VerticalLayout();
  26. main.setMargin(true);
  27. setCompositionRoot(main);
  28. // listener that shows a value change notification
  29. final Field.ValueChangeListener listener = new Field.ValueChangeListener() {
  30. public void valueChange(ValueChangeEvent event) {
  31. getWindow().showNotification("Received",
  32. "<pre>" + event.getProperty().getValue() + "</pre>",
  33. Notification.TYPE_WARNING_MESSAGE);
  34. }
  35. };
  36. // TextField
  37. HorizontalLayout horiz = new HorizontalLayout();
  38. horiz.setWidth("100%");
  39. main.addComponent(horiz);
  40. Panel left = new Panel("TextField");
  41. left.setStyleName(Panel.STYLE_LIGHT);
  42. horiz.addComponent(left);
  43. Panel right = new Panel("multiline");
  44. right.setStyleName(Panel.STYLE_LIGHT);
  45. horiz.addComponent(right);
  46. // basic TextField
  47. TextField tf = new TextField("Basic");
  48. tf.setDebugId("BasicTextField");
  49. tf.setColumns(15);
  50. tf.setImmediate(true);
  51. tf.addListener(listener);
  52. left.addComponent(tf);
  53. // multiline TextField a.k.a TextArea
  54. tf = new TextField("Area");
  55. tf.setDebugId("AreaTextField");
  56. tf.setColumns(15);
  57. tf.setRows(5);
  58. tf.setImmediate(true);
  59. tf.addListener(listener);
  60. right.addComponent(tf);
  61. // DateFields
  62. Date d = new Date(98, 1, 22, 13, 14, 15);
  63. horiz = new HorizontalLayout();
  64. horiz.setWidth("100%");
  65. main.addComponent(horiz);
  66. left = new Panel("DateField");
  67. left.setStyleName(Panel.STYLE_LIGHT);
  68. horiz.addComponent(left);
  69. right = new Panel("inline");
  70. right.setStyleName(Panel.STYLE_LIGHT);
  71. horiz.addComponent(right);
  72. // default
  73. DateField df = new DateField("Day resolution");
  74. df.setDebugId("DayResolutionDateField");
  75. df.setValue(d);
  76. df.addListener(listener);
  77. df.setImmediate(true);
  78. df.setResolution(DateField.RESOLUTION_DAY);
  79. left.addComponent(df);
  80. // minute
  81. df = new DateField("Minute resolution");
  82. df.setValue(d);
  83. df.setDebugId("MinuteResolutionDateField");
  84. df.addListener(listener);
  85. df.setImmediate(true);
  86. df.setResolution(DateField.RESOLUTION_MIN);
  87. left.addComponent(df);
  88. // year
  89. df = new DateField("Year resolution");
  90. df.setValue(d);
  91. df.setDebugId("YearResolutionDateField");
  92. df.addListener(listener);
  93. df.setImmediate(true);
  94. df.setResolution(DateField.RESOLUTION_YEAR);
  95. left.addComponent(df);
  96. // msec
  97. df = new DateField("Millisecond resolution");
  98. df.setValue(d);
  99. df.setDebugId("MillisecondResolutionDateField");
  100. df.addListener(listener);
  101. df.setImmediate(true);
  102. df.setResolution(DateField.RESOLUTION_MSEC);
  103. left.addComponent(df);
  104. // Inline
  105. df = new InlineDateField();
  106. df.setValue(d);
  107. df.setDebugId("InlineDateField");
  108. df.addListener(listener);
  109. df.setImmediate(true);
  110. right.addComponent(df);
  111. // Slider
  112. left = new Panel("Slider");
  113. left.setStyleName(Panel.STYLE_LIGHT);
  114. main.addComponent(left);
  115. // int slider
  116. Slider slider = new Slider(0, 100);
  117. slider.setDebugId("Slider1");
  118. slider.setWidth("300px");
  119. slider.setImmediate(true);
  120. slider.addListener(new Slider.ValueChangeListener() {
  121. public void valueChange(ValueChangeEvent event) {
  122. // update caption when value changes
  123. final Slider s = (Slider) event.getProperty();
  124. s.setCaption("Value: " + s.getValue());
  125. }
  126. });
  127. try {
  128. slider.setValue(20);
  129. } catch (final Exception e) {
  130. e.printStackTrace(System.err);
  131. }
  132. left.addComponent(slider);
  133. // double slider
  134. slider = new Slider(0.0, 1.0, 1);
  135. slider.setOrientation(Slider.ORIENTATION_VERTICAL);
  136. slider.setDebugId("Slider2");
  137. slider.setImmediate(true);
  138. slider.addListener(new Slider.ValueChangeListener() {
  139. public void valueChange(ValueChangeEvent event) {
  140. // update caption when value changes
  141. final Slider s = (Slider) event.getProperty();
  142. s.setCaption("Value: " + s.getValue());
  143. }
  144. });
  145. try {
  146. slider.setValue(0.5);
  147. } catch (final Exception e) {
  148. e.printStackTrace(System.err);
  149. }
  150. left.addComponent(slider);
  151. }
  152. }