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.

FocusOutsideWindow.java 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package com.vaadin.tests;
  2. import com.vaadin.annotations.Widgetset;
  3. import com.vaadin.server.VaadinRequest;
  4. import com.vaadin.tests.components.AbstractTestUI;
  5. import com.vaadin.ui.Button;
  6. import com.vaadin.ui.Label;
  7. import com.vaadin.ui.TextField;
  8. import com.vaadin.ui.Window;
  9. @Widgetset("com.vaadin.DefaultWidgetSet")
  10. public class FocusOutsideWindow extends AbstractTestUI {
  11. private boolean focusTextF = true;
  12. @Override
  13. protected void setup(VaadinRequest request) {
  14. Button button = new Button("Open window");
  15. Button focusBut = new Button("Focus TextField/DefaultFocus", e -> {
  16. focusTextF = !focusTextF;
  17. });
  18. button.setId("buttonOp");
  19. focusBut.setId("focusBut");
  20. final TextField textField = new TextField("Focus shoud go here");
  21. button.addClickListener(new Button.ClickListener() {
  22. public void buttonClick(Button.ClickEvent event) {
  23. Window window = new Window("WINDOW");
  24. window.setContent(new Label("Inside window"));
  25. window.setHeight("100px");
  26. window.addCloseListener(new Window.CloseListener() {
  27. @Override
  28. public void windowClose(Window.CloseEvent e) {
  29. if (focusTextF) {
  30. textField.focus();
  31. }
  32. }
  33. });
  34. addWindow(window);
  35. }
  36. });
  37. addComponent(button);
  38. addComponent(focusBut);
  39. addComponent(textField);
  40. }
  41. }