3

背景

在 GWT 2.5.0文件中:com.google.gwt.i18n.client.impl.cldr.DateTimeFormatInfoImpl_en 定义getFirstDayOfWeek为:

@Override
public int firstDayOfTheWeek() {
    return 0;
}

这会导致日历呈现为SMTWTFS

但是在更新GWT 2.5.1中,这被更改为

@Override
public int firstDayOfTheWeek() {
   return 1;
}

使日历呈现为MTWTFSS


问题

有谁知道为什么默认更改? 我不是很高兴回去更改我所有的日历!

有谁知道我可以更改的语言环境,以便日历呈现为 SMTWTFS? 我不希望创建子类,覆盖firstDayOfTheWeek()并更改所有日历。

4

1 回答 1

1

我不准备测试此解决方案,但您可以尝试使用GWT Deferred Binding。如果它有效,那么好处是您不必更改大量代码。

1:创建一个新类并覆盖 firstDayOfTheWeek() 方法。

public class CustomDateTimeFormatInfoImpl_en extends DateTimeFormatInfoImpl_en {

    @Override
    public int firstDayOfTheWeek() {
        // make Sunday my first day of the week
        return 0;
    }
}

2:在您的 gwt.xml 模块文件中添加延迟绑定指令。

<replace-with class="com.example.sample.CustomDateTimeFormatInfoImpl_en">
    <when-type-is class="com.google.gwt.i18n.client.impl.cldr.DateTimeFormatInfoImpl_en"/>
</replace-with>

希望这有助于或至少引导您朝着正确的方向前进。

于 2013-07-26T21:16:43.193 回答