java - JDatePicker 日期格式化

标签 java swing swingx

我在我的应用程序中使 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,但该方法在我的应用程序类中似乎不可用。
我需要扩展我的应用程序类吗?
我是否调用了错误的方法来获取信息?
它们都在默认包中 [不好?] 这会导致问题吗?

最佳答案

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

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

我相信你可能需要打电话

datePicker.getJFormattedTextField().getText()

关于java - JDatePicker 日期格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31277001/

相关文章:

java - 如何在 JXTreeTable 中设置自定义 DefaultTreeCellRenderer

java - 实现自定义组合框模型未能覆盖某些方法

java - 实现同步以获得正确的线程输出

java - Sprint 无线工具包 3.3.2 与 Sun 无线工具包

java - 如何使用新信息更新 JDialog?

java - JFrame 中的窗口动画

java - 如何在java中创建一个对象的五个实例,以便当引用该对象时,这五个实例应该像对象池一样?

java - 我们可以用什么来快速显示和更新大量的简单对象呢?

java - 如何保持 2 个 JPanel 彼此垂直对齐?

java - JTextField 的 "column"的宽度是多少?