JCalendar值未正确填充

时间:2013-01-10 12:00:06

标签: java mysql swing user-interface jcalendar

String date =rs.getString(10); 
    ((JTextField)fieldClose.getDateEditor().getUiComponent()).setText(date);

以上用于从数据库中提取DATE值以将其设置为textfield。最初插入日期时,它是com.toedter.calendar.JDateChooser();类型。但是在找回它之后,我无法在场上正确设置它。我将通过以下图片支持您的理解:

它有红色:

enter image description here

但理想情况下应该识别并且日期颜色应该是黑色,如下所示,但这必须手动完成...我如何解决这个问题,因此它会自动变黑。

Recognised date

2 个答案:

答案 0 :(得分:1)

再次JCalendar - setting date correctly in Java using correct format,请注意我从未在jar文件中使用打包JCalendar,始终是代码源

  1. 为具体实例设置setDateFormat

    a)cal.setDateFormat(new SimpleDateFormat("dd.MM.yyyy"));

    b)cal.setLocale(Locale.FRANCE); //例如

  2. JDBC Statement返回getDate(10)rs.getString(10);的实例),这是java.util.Date中方法setDate()的有效JCalendar实例}

  3. Editor派生JSpinner,您可以使用并设置editor.getTextField().setXxx

答案 1 :(得分:1)

最简单的方法是使用SimpleDateFormat类:

String dateString = rs.getString(10); 
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = inputFormat.parse(dateString);
SimpleDateFormat outputFormat = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
((JTextField)fieldClose.getDateEditor().getUiComponent()).setText(outputFormat.format(date));

只需更改Locale值,即可更改用于表示月份的三个字母缩写的语言。
SimpleDateFormat方法的参考: