問題があります。jCalendarのjDateChooserからnull値を取得しています。
このメソッドは、java.util.DateをXMlGregorianCalendarに変換する関数です。
DatatypeFactory df;
public XMLGregorianCalendar function_ConvertAsXMLGregorianCalendar(Date date) {
if (date == null) {
System.out.println("Error on Function Convert Date into XML Gregorian Calendar");
return null;
} else {
GregorianCalendar gc = new GregorianCalendar();
gc.setTimeInMillis(date.getTime());
return df.newXMLGregorianCalendar(gc);
}
}
そしてこれはgetStartとgetEndDatesの2つの関数です。
private XMLGregorianCalendar getStartDate(){
Date dateStarting = jDateChooserStart.getDate();
System.out.println("Date Start : " + dateStarting.toString());
XMLGregorianCalendar cal = function_ConvertAsXMLGregorianCalendar(dateStarting);
System.out.println("Converted Date : " + cal.toXMLFormat());
return cal;
}
private XMLGregorianCalendar getEndDate(){
Date dateEnding = jDateChooserEnd.getDate();
System.out.println("Date End : " + dateEnding);
return function_ConvertAsXMLGregorianCalendar(dateEnding);
}
次に、scheduleというオブジェクト内にメソッドを配置します。
schedule.setStartDate(getStartDate());
schedule.setEndDate(getEndDate());
Netbeans(v7.1)の結果
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Frames.CreateSchedule.function_ConvertAsXMLGregorianCalendar(CreateSchedule.java:181)
at Frames.CreateSchedule.getStartDate(CreateSchedule.java:188)
at Frames.CreateSchedule.SubmitButtonActionPerformed(CreateSchedule.java:204)
at Frames.CreateSchedule.access$000(CreateSchedule.java:16)
どうしたの?
前に感謝します。
アップデート ::
関数を次のように変更します。
public XMLGregorianCalendar function_ConvertAsXMLGregorianCalendar(Date date) {
if (date == null) {
System.out.println("Error on Function Convert Date into XML Gregorian Calendar");
return null;
} else {
GregorianCalendar gc = new GregorianCalendar();
gc.setTimeInMillis(date.getTime());
DatatypeFactory df = null;
return df.newXMLGregorianCalendar(gc);
}
}
UPDATE 2#::
newInstance()メソッドを初期化した後、別のエラーが発生します。
java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
パッケージ名をから変更するだけです
java.util.Date into java.SQL.Date
次にキャスト:
Date dateStarting = (Date) jDateChooserStart.getDate();
Date dateEnding = (Date) jDateChooserEnd.getDate();
この問題を解決するにはどうすればよいですか?
再度、感謝します。