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.

LocalDateRenderers.java 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package com.vaadin.tests.components.grid;
  2. import java.time.LocalDate;
  3. import java.time.LocalDateTime;
  4. import java.time.format.DateTimeFormatter;
  5. import java.time.format.FormatStyle;
  6. import java.util.Locale;
  7. import com.vaadin.server.VaadinRequest;
  8. import com.vaadin.tests.components.AbstractTestUI;
  9. import com.vaadin.ui.Grid;
  10. import com.vaadin.ui.renderers.LocalDateRenderer;
  11. import com.vaadin.ui.renderers.LocalDateTimeRenderer;
  12. public class LocalDateRenderers extends AbstractTestUI {
  13. private static class TimeBean {
  14. private LocalDate localDate;
  15. private LocalDateTime localDateTime;
  16. public TimeBean() {
  17. localDate = LocalDate.ofEpochDay(0);
  18. localDateTime = localDate.atTime(0, 0);
  19. }
  20. public LocalDate getLocalDate() {
  21. return localDate;
  22. }
  23. public LocalDateTime getLocalDateTime() {
  24. return localDateTime;
  25. }
  26. }
  27. @Override
  28. protected void setup(VaadinRequest request) {
  29. DateTimeFormatter finnishDateFormatter = DateTimeFormatter
  30. .ofLocalizedDate(FormatStyle.LONG).withLocale(new Locale("fi"));
  31. DateTimeFormatter finnishDateTimeFormatter = DateTimeFormatter
  32. .ofLocalizedDateTime(FormatStyle.LONG)
  33. .withLocale(new Locale("fi"));
  34. Grid<TimeBean> grid = new Grid<>();
  35. grid.setLocale(new Locale("en"));
  36. grid.addColumn(TimeBean::getLocalDate, new LocalDateRenderer())
  37. .setCaption("LocalDate");
  38. grid.addColumn(TimeBean::getLocalDate,
  39. new LocalDateRenderer(finnishDateFormatter, ""))
  40. .setCaption("LocalDate, Finnish formatter");
  41. grid.addColumn(TimeBean::getLocalDateTime, new LocalDateTimeRenderer())
  42. .setCaption("LocalDateTime");
  43. grid.addColumn(TimeBean::getLocalDateTime,
  44. new LocalDateTimeRenderer(finnishDateTimeFormatter, ""))
  45. .setCaption("LocalDateTime, Finnish formatter");
  46. grid.setItems(new TimeBean());
  47. addComponent(grid);
  48. }
  49. }