Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

ValueInputExample.java 4.9KB

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