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.

TableInSubWindowMemoryLeak.java 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package com.vaadin.tests.components.table;
  2. import com.vaadin.tests.components.TestBase;
  3. import com.vaadin.ui.Button;
  4. import com.vaadin.ui.Button.ClickEvent;
  5. import com.vaadin.ui.Button.ClickListener;
  6. import com.vaadin.ui.Label;
  7. import com.vaadin.ui.Table;
  8. import com.vaadin.ui.UI;
  9. import com.vaadin.ui.Window;
  10. import com.vaadin.ui.Window.CloseEvent;
  11. import com.vaadin.ui.Window.CloseListener;
  12. public class TableInSubWindowMemoryLeak extends TestBase {
  13. @Override
  14. public void setup() {
  15. final Label label = new Label("Hello Vaadin user");
  16. addComponent(label);
  17. final Button openButton = new Button("open me");
  18. openButton.addClickListener(new ClickListener() {
  19. @Override
  20. public void buttonClick(final ClickEvent event) {
  21. final Window window = new Window("Simple Window");
  22. window.setModal(true);
  23. window.setHeight("200px");
  24. window.setWidth("200px");
  25. final Table table = new Table();
  26. window.setContent(table);
  27. UI.getCurrent().addWindow(window);
  28. window.addCloseListener(new CloseListener() {
  29. @Override
  30. public void windowClose(final CloseEvent e) {
  31. window.setContent(new Label());
  32. UI.getCurrent().removeWindow(window);
  33. }
  34. });
  35. }
  36. });
  37. addComponent(openButton);
  38. final Button openButton2 = new Button("open me without Table");
  39. openButton2.addClickListener(new ClickListener() {
  40. @Override
  41. public void buttonClick(final ClickEvent event) {
  42. final Window window = new Window("Simple Window");
  43. window.setModal(true);
  44. window.setHeight("200px");
  45. window.setWidth("200px");
  46. UI.getCurrent().addWindow(window);
  47. window.addCloseListener(new CloseListener() {
  48. @Override
  49. public void windowClose(final CloseEvent e) {
  50. UI.getCurrent().removeWindow(window);
  51. }
  52. });
  53. }
  54. });
  55. addComponent(openButton2);
  56. }
  57. @Override
  58. protected String getDescription() {
  59. return "IE 8 leaks memory with a subwindow containing a Table";
  60. }
  61. @Override
  62. protected Integer getTicketNumber() {
  63. return 9197;
  64. }
  65. }