使用 JFrame DateChooser 中的错误

问题描述

我是 JFrame 的新手。我刚刚开始学习创建 Java 项目。我创建了一个输入字段作为日期并插入了一个 DateChooseCombo我有两个问题。

  1. 当我运行应用程序时,日历中的日期不可见,但会显示在框中选择的日期。
  2. 当我提交表单时,它给出了一个错误 "Cannot format given Object as a Date"

日期代码如下:

SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
String addDate = dateFormat.format(txt_AddDate.getSelectedDate());
ps.setString(3,addDate);

使用的日期格式为 04/30/21

谁能帮我解决这两个问题?

解决方法

方法 getSelectedDate(),在类 datechooser.beans.DateChooserCombo 中,返回一个 java.util.Calendar

方法format,在类java.text.DateFormat(它是java.text.SimpleDateFormat 的超类,因此由SimpleDateformat 继承)中需要一个java.util.Date 类型的参数。 Calendar notDate,这就是您收到错误的原因。 Java 无法将 Calendar 转换为 Date

然而,类 Calendar 有方法 getTime,它返回一个 Date
因此,您需要将您在问题中发布的代码的第二行更改为以下内容。

String addDate = dateFormat.format(txt_AddDate.getSelectedDate().getTime());

您也可以参考以下问题(和答案):
Can't get date from DateChooserCombo