JDatePicker日期格式

guy*_*sei 4 java swing swingx

JDatePicker在我的应用程序中得到了工作,但希望将日期格式化为YYYY_MM_DD
当前日期的格式是默认值.Wed Jul 08 15:17:01 ADT 2015
在本指南中,有一个类格式化日期,如下所示.

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 "";
    }

}
Run Code Online (Sandbox Code Playgroud)

所以我将类添加到我的包中,Swing应用程序具有适当的构造函数

JDatePickerImpl datePicker = new JDatePickerImpl(datePanel, new DateLabelFormatter());
Run Code Online (Sandbox Code Playgroud)

所以我每次调用datePicker.getModel().getValue().toString()格式都是原始的.
现在我看到了DateLabelFormatter调用valueToString,但是我的应用程序类中似乎没有该方法.
我是否需要扩展我的应用程序类?
我是否采用了错误的方法来获取信息?
他们都是默认包[不好?]是造成问题的?
完成菜鸟所以任何帮助表示赞赏:)

Hua*_*hen 6

http://www.codejava.net/java-se/swing/how-to-use-jdatepicker-to-display-calendar-component

这可能是一个可以提供帮助的资源

我相信你可能需要打电话

datePicker.getJFormattedTextField().getText()
Run Code Online (Sandbox Code Playgroud)