您如何格式化GWT日期选择器月份标签?

问题描述 投票:0回答:1

我想知道是否有人知道如何格式化GWT日期选择器的datepickerMonth

当前格式为2020 Jan,我正在寻找为January 2020

我已经遍历了GWT Datepicker Javadoc,但是找不到任何访问该值的方法。

我正在使用GWT 2.8.1。

java gwt datepicker
1个回答
0
投票

我设法在GWT 2.7中做到了。我相信它也可以在2.8中使用-如果不能,请告诉我。

[如果您查看DatePicker的实现,您会发现它使用DefaultMonthSelectorDefaultCalendarViewCalendarModel

CalendarModel是我们感兴趣的,因为它提供了负责渲染monthAndYearFormatter2020 Jan。不幸的是,您不能设置自己的CalendarModel,因此我们需要继承DatePicker

getMonthAndYearFormatter()方法返回PredefinedFormat.YEAR_MONTH_ABBR,我们需要将其更改为PredefinedFormat.YEAR_MONTH以获取完整的月份名称。或将其更改为您想要的任何内容。

因此,您只需要像这样重写此方法:

public class MyDatePicker extends DatePicker {
    public MyDatePicker() {
        super(new DefaultMonthSelector(), new DefaultCalendarView(), new CalendarModel() {
            @Override
            protected DateTimeFormat getMonthAndYearFormatter() {
                return DateTimeFormat.getFormat(PredefinedFormat.YEAR_MONTH);
            }
        });
    }
}

只需使用MyDatePicker而不是DatePicker


这是结果:

DatePicker with custom monthAndYearFormatter

© www.soinside.com 2019 - 2024. All rights reserved.