Я использую JDateChooser, однако я не могу получить дату, которую я ввожу, и всегда получаю объект null.
dateChooser = new JDateChooser();
Date dateFromDateChooser = dateChooser.getDate();
String dateString = String.format("%1$td-%1$tm-%1$tY", dateFromDateChooser);
System.err.println("IHI date string " + dateString);
Вот что я получаю в консоли:
IHI date string null-null-null
Метод dateChooser.getDate()
возвраты null
. Вы только что инстанцировали объекта dateChooser
, но никогда не присваивали объект Даты.
Это - реализация метода getDate()
в JDateChooser.java
/**
* Returns the date. If the JDateChooser is started with a null date and no
* date was set by the user, null is returned.
*
* @return the current date
*/
public Date getDate() {
return dateEditor.getDate();
}
Затем, статический метод String.format
в Вашем коде принимает также null
для второго параметра, например:
String dateString = String.format("%1$td-%1$tm-%1$tY", null);
System.err.println("IHI date string " + dateString);
Вывод:
IHI date string null-null-null
<час> На основе Вашего кода , бессмысленный, но рабочий пример - это.
public static void main(String[] args) {
JDateChooser dateChooser = new JDateChooser();
dateChooser.setDate(new Date());
Date dateFromDateChooser = dateChooser.getDate();
String dateString = String.format("%1$td-%1$tm-%1$tY", dateFromDateChooser);
System.err.println("IHI date string " + dateString);
}
Вывод:
IHI date string 06-05-2015
Набор экземпляр Даты в Вашем GUI прежде, чем считать экземпляр Даты или набор экземпляр Даты по умолчанию.