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.

GridInWindowResize.java 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.vaadin.tests.components.grid;
  2. import java.util.stream.IntStream;
  3. import java.util.stream.Stream;
  4. import com.vaadin.server.VaadinRequest;
  5. import com.vaadin.tests.components.AbstractTestUI;
  6. import com.vaadin.tests.data.bean.Address;
  7. import com.vaadin.tests.data.bean.Person;
  8. import com.vaadin.ui.Button;
  9. import com.vaadin.ui.Grid;
  10. import com.vaadin.ui.VerticalLayout;
  11. import com.vaadin.ui.Window;
  12. public class GridInWindowResize extends AbstractTestUI {
  13. @Override
  14. protected void setup(VaadinRequest request) {
  15. Grid<Person> grid = new Grid<>();
  16. grid.addColumn(Person::getFirstName);
  17. grid.addColumn(Person::getLastName);
  18. grid.addColumn(person -> person.getAddress().getCity());
  19. grid.setItems(createPersons());
  20. grid.setSizeFull();
  21. VerticalLayout vl = new VerticalLayout(grid);
  22. vl.setSizeFull();
  23. Button resize = new Button("resize");
  24. VerticalLayout vl2 = new VerticalLayout(vl, resize);
  25. vl2.setSizeFull();
  26. final Window window = new Window(null, vl2);
  27. addWindow(window);
  28. window.center();
  29. window.setModal(true);
  30. window.setWidth("600px");
  31. window.setHeight("400px");
  32. resize.addClickListener(event -> window.setWidth("400px"));
  33. }
  34. private Stream<Person> createPersons() {
  35. return IntStream.range(0, 100).mapToObj(index -> createPerson());
  36. }
  37. private Person createPerson() {
  38. Person person = new Person();
  39. person.setFirstName("1");
  40. person.setFirstName("1");
  41. person.setAddress(new Address());
  42. person.getAddress().setCity("1");
  43. return person;
  44. }
  45. }