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.

Ticket1834PanelScrolling.java 2.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.vaadin.tests.tickets;
  2. import com.vaadin.ui.Button;
  3. import com.vaadin.ui.Button.ClickEvent;
  4. import com.vaadin.ui.Button.ClickListener;
  5. import com.vaadin.ui.HorizontalLayout;
  6. import com.vaadin.ui.Label;
  7. import com.vaadin.ui.Panel;
  8. import com.vaadin.ui.Root.LegacyWindow;
  9. public class Ticket1834PanelScrolling extends
  10. com.vaadin.Application.LegacyApplication {
  11. private static final int ROWS = 50;
  12. private Label state = new Label("State");
  13. private Panel p;
  14. @Override
  15. public void init() {
  16. final LegacyWindow main = new LegacyWindow(getClass().getName()
  17. .substring(getClass().getName().lastIndexOf(".") + 1));
  18. setMainWindow(main);
  19. HorizontalLayout currentState = new HorizontalLayout();
  20. currentState.addComponent(state);
  21. Button b = new Button("update");
  22. currentState.addComponent(b);
  23. b.addListener(new ClickListener() {
  24. public void buttonClick(ClickEvent event) {
  25. state.setValue("ScrollTop: " + p.getScrollTop()
  26. + " ScrollLeft: " + p.getScrollLeft());
  27. }
  28. });
  29. main.addComponent(currentState);
  30. b = new Button("ScrollBy 50px");
  31. b.addListener(new ClickListener() {
  32. public void buttonClick(ClickEvent event) {
  33. p.setScrollLeft(p.getScrollLeft() + 50);
  34. p.setScrollTop(p.getScrollTop() + 50);
  35. state.setValue("ScrollTop: " + p.getScrollTop()
  36. + " ScrollLeft: " + p.getScrollLeft());
  37. }
  38. });
  39. main.addComponent(b);
  40. b = new Button("Add row");
  41. b.addListener(new ClickListener() {
  42. int i = 0;
  43. public void buttonClick(ClickEvent event) {
  44. p.addComponent(new Label("new Row" + ++i));
  45. }
  46. });
  47. main.addComponent(b);
  48. b = new Button("Repaint Panel");
  49. b.addListener(new ClickListener() {
  50. public void buttonClick(ClickEvent event) {
  51. p.requestRepaint();
  52. }
  53. });
  54. main.addComponent(b);
  55. p = new Panel("TestPanel");
  56. for (int i = 0; i < ROWS; i++) {
  57. p.addComponent(new Label(
  58. "Label"
  59. + i
  60. + "................................................................................................................."));
  61. }
  62. p.setHeight("300px");
  63. p.setWidth("250px");
  64. p.setScrollTop(100);
  65. p.setScrollLeft(100);
  66. main.addComponent(p);
  67. }
  68. }