我在我的应用程序中使JDatePicker
正常工作,但希望将日期格式化为YYYY_MM_DD
目前,日期格式是默认Wed Jul 08 15:17:01 ADT 2015
从这guide开始,有一个类格式化日期,如下所示。
package net.codejava.swing;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import javax.swing.JFormattedTextField.AbstractFormatter;
public class DateLabelFormatter extends AbstractFormatter {
private String datePattern = "yyyy-MM-dd";
private SimpleDateFormat dateFormatter = new SimpleDateFormat(datePattern);
@Override
public Object stringToValue(String text) throws ParseException {
return dateFormatter.parseObject(text);
}
@Override
public String valueToString(Object value) throws ParseException {
if (value != null) {
Calendar cal = (Calendar) value;
return dateFormatter.format(cal.getTime());
}
return "";
}
}
所以我将类添加到我的包中,Swing应用程序具有正确的构造函数
JDatePickerImpl datePicker = new JDatePickerImpl(datePanel, new DateLabelFormatter());
因此,每次拨打datePicker.getModel().getValue().toString()
时,格式都是原始格式
现在我看到DateLabelFormatter调用valueToString
,但该方法在我的应用程序类中似乎不可用。
我是否需要扩展我的应用程序类?
我是否采用了错误的方法来获取信息?
他们都是默认包[不好?]是造成问题的?
完成菜鸟所以任何帮助表示赞赏:)
答案 0 :(得分:6)
http://www.codejava.net/java-se/swing/how-to-use-jdatepicker-to-display-calendar-component
这可能是一个可以提供帮助的资源
我相信您可能需要致电
AsyncTask
答案 1 :(得分:4)
你必须致电
{{1}}
从datePicker
获取显示的值