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.

FocusAndBlurListeners.java 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package com.vaadin.tests.components;
  2. import java.util.Date;
  3. import com.vaadin.event.FieldEvents.BlurListener;
  4. import com.vaadin.event.FieldEvents.FocusListener;
  5. import com.vaadin.ui.AbstractDateField;
  6. import com.vaadin.ui.Button;
  7. import com.vaadin.ui.Button.ClickEvent;
  8. import com.vaadin.ui.Button.ClickListener;
  9. import com.vaadin.ui.CheckBox;
  10. import com.vaadin.ui.ComboBox;
  11. import com.vaadin.ui.Label;
  12. import com.vaadin.ui.Layout;
  13. import com.vaadin.ui.NativeButton;
  14. import com.vaadin.ui.TextField;
  15. import com.vaadin.ui.VerticalLayout;
  16. import com.vaadin.v7.ui.OptionGroup;
  17. public class FocusAndBlurListeners extends TestBase {
  18. private VerticalLayout messages = new VerticalLayout();
  19. private FocusListener focusListener = event -> {
  20. Label msg = new Label(
  21. new Date() + " Focused " + event.getComponent().getCaption());
  22. messages.addComponentAsFirst(msg);
  23. };
  24. private BlurListener blurListener = event -> {
  25. Label msg = new Label(
  26. new Date() + " Blurred " + event.getComponent().getCaption());
  27. messages.addComponentAsFirst(msg);
  28. };
  29. @Override
  30. protected void setup() {
  31. Layout l = getLayout();
  32. TextField tf = new TextField("TextField");
  33. l.addComponent(tf);
  34. AbstractDateField<?, ?> df = new TestDateField("DateField");
  35. l.addComponent(df);
  36. ComboBox<String> cb = new ComboBox<>("ComboBox");
  37. l.addComponent(cb);
  38. Button btn = new Button("Button");
  39. l.addComponent(btn);
  40. NativeButton nbtn = new NativeButton("NativeButton");
  41. l.addComponent(nbtn);
  42. CheckBox chkb = new CheckBox("CheckBox");
  43. l.addComponent(chkb);
  44. OptionGroup og = createOptionGroup("OptionGroup");
  45. og.setMultiSelect(false);
  46. l.addComponent(og);
  47. final OptionGroup ogm = createOptionGroup("OptionGroup (multiselect)");
  48. ogm.setMultiSelect(true);
  49. l.addComponent(ogm);
  50. btn.addClickListener(new ClickListener() {
  51. private int i;
  52. @Override
  53. public void buttonClick(ClickEvent event) {
  54. ogm.addItem("newItem" + i++);
  55. }
  56. });
  57. tf.addFocusListener(focusListener);
  58. tf.addBlurListener(blurListener);
  59. df.addFocusListener(focusListener);
  60. df.addBlurListener(blurListener);
  61. cb.addFocusListener(focusListener);
  62. cb.addBlurListener(blurListener);
  63. btn.addFocusListener(focusListener);
  64. btn.addBlurListener(blurListener);
  65. nbtn.addFocusListener(focusListener);
  66. nbtn.addBlurListener(blurListener);
  67. chkb.addFocusListener(focusListener);
  68. chkb.addBlurListener(blurListener);
  69. og.addFocusListener(focusListener);
  70. og.addBlurListener(blurListener);
  71. ogm.addFocusListener(focusListener);
  72. ogm.addBlurListener(blurListener);
  73. l.addComponent(messages);
  74. }
  75. private OptionGroup createOptionGroup(String caption) {
  76. OptionGroup og = new OptionGroup(caption);
  77. og.addItem("Option 0");
  78. og.addItem("Option 1");
  79. og.addItem("Option 2");
  80. return og;
  81. }
  82. @Override
  83. protected String getDescription() {
  84. return "Testing blur and focus listeners added in 6.2";
  85. }
  86. @Override
  87. protected Integer getTicketNumber() {
  88. return null;
  89. }
  90. }