【问题标题】:Change week days based on the locale in swings根据摇摆中的区域设置更改工作日
【发布时间】:2014-02-05 08:59:19
【问题描述】:

我正在开发一个可以以英语和德语运行的应用程序(Swing 应用程序)。 有一个日期选择器要求,因为他们使用了来自(source forge.net)的 JDatePickerImpl

现在的要求是,

如果应用程序以英语运行 星期开始日是星期日.....星期六

如果应用程序在德语中运行 周起始日是星期一.....星期日

但是 JDatePickerImpl 显示星期日、星期一、........星期六

如何根据语言环境更改星期的开始日期...

这是我的代码 sn-p....

   private JFormattedTextField.AbstractFormatter format = 
   new  JFormattedTextField.AbstractFormatter(){


private static final long serialVersionUID = 1L;

@Override
public String valueToString(Object value) throws ParseException {


    Calendar cal = (Calendar) value;
    if (cal == null) {
    return "";
    }

    return DateUtil.dateToString(
        PlasaApplication.getTranslator().getCurrentLanguage()
            .equals("de") ? DateUtil.germanDateFormat
            : DateUtil.usDateFormat, cal.getTime());

}

@Override
public Object stringToValue(String text) throws ParseException {


    return DateUtil.getDateFromString(text,
        PlasaApplication.getTranslator().getCurrentLanguage()
            .equals("de") ? DateUtil.germanDateFormat
            : DateUtil.usDateFormat);

}
};
private JDatePickerImpl fromDatePicker = (JDatePickerImpl) JDateComponentFactory
    .createJDatePicker(format);


private JDatePickerImpl toDatePicker = (JDatePickerImpl) JDateComponentFactory
    .createJDatePicker(format);

【问题讨论】:

    标签: java swing


    【解决方案1】:

    您需要查看 JDatePickerImpl 的 API,看看它是否可以设置周开始日。如果它确实以与您为每个区域设置值设置日期格式相同的方式调用该方法。

    如果没有,那么您无法使用该特定日期选择器执行任何操作。您需要制作自己的变体或使用不同的日期选择器。

    【讨论】:

      【解决方案2】:

      将这些行添加到您的代码中,并根据您的要求设置语言环境。默认情况下,系统区域设置正在被拾取。

      datePicker.setLocale(new Locale("es", "ES"));
      datePicker.setDateFormat(DateFormat.FULL);
      

      了解更多info

      【讨论】:

      • 你是如何设置语言环境的?你有什么错误吗?
      • toDatePicker.setLocale(new Locale("de", "DE"));这是我设置的方式,没有错误,但日期选择器显示与之前相同
      猜你喜欢
      • 2016-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多