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.

WindowClickEvents.java 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package com.vaadin.tests.components.window;
  2. import com.vaadin.event.MouseEvents.ClickEvent;
  3. import com.vaadin.tests.components.TestBase;
  4. import com.vaadin.tests.util.Log;
  5. import com.vaadin.ui.Button;
  6. import com.vaadin.ui.Label;
  7. import com.vaadin.ui.VerticalLayout;
  8. import com.vaadin.ui.Window;
  9. public class WindowClickEvents extends TestBase {
  10. private Log log;
  11. @Override
  12. protected String getDescription() {
  13. return "Both the sub window and the main window has a click listener. Clicking produces a row in the log below.";
  14. }
  15. @Override
  16. protected Integer getTicketNumber() {
  17. return 5038;
  18. }
  19. @Override
  20. protected void setup() {
  21. VerticalLayout layout = new VerticalLayout();
  22. layout.addLayoutClickListener(event -> WindowClickEvents.this
  23. .click("Sub window layout", event));
  24. ((VerticalLayout) getMainWindow().getContent())
  25. .addLayoutClickListener(event -> WindowClickEvents.this
  26. .click("Main window layout", event));
  27. layout.setMargin(true);
  28. Window centered = new Window("A window with a click listener", layout);
  29. centered.addClickListener(
  30. event -> WindowClickEvents.this.click("Sub window", event));
  31. centered.setSizeUndefined();
  32. layout.setSizeUndefined();
  33. centered.center();
  34. Label l = new Label("This window is centered");
  35. l.setSizeUndefined();
  36. Button b = new Button(
  37. "Clicking here should not produce a layout click event");
  38. b.addClickListener(event -> log.log("Click on button"));
  39. layout.addComponent(l);
  40. layout.addComponent(b);
  41. getMainWindow().addWindow(centered);
  42. log = new Log(5);
  43. addComponent(log);
  44. getMainWindow().addClickListener(
  45. event -> WindowClickEvents.this.click("Main window", event));
  46. }
  47. private void click(String target, ClickEvent event) {
  48. log.log("Click using " + event.getButtonName() + " on " + target);
  49. // + " at " + event.getClientX() + "," + event.getClientY());
  50. }
  51. }