我使用了来自 this 的代码发布以将 jdatepicker 放入我的简单程序中(下面只是 jdatepicker 所需的代码)。效果很好,但我有 2 个问题:
- 1.如何将选择的日期获取到String?
- 2。如何在 jdatepicker 文本框中重置日期?
//imports
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Properties;
import javax.swing.JFormattedTextField.AbstractFormatter;
import org.jdatepicker.*;
import org.jdatepicker.impl.*;
import org.jdatepicker.util.*;
------------------------------------------------------------------------
//constructor
UtilDateModel model = new UtilDateModel();
Properties p = new Properties();
p.put("text.today", "today");
p.put("text.month", "month");
p.put("text.year", "year");
JDatePanelImpl datePanel = new JDatePanelImpl(model,p);
JDatePickerImpl datePicker = new JDatePickerImpl(datePanel, new DateLabelFormatter());
datePicker.setBounds(230, 30, 110, 30);
add(datePicker);
------------------------------------------------------------------------
//dateformater
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 "";
}
}
最佳答案
如何将选中的日期转化为字符串?
datePicker.getJFormattedTextField().getText();
如何在 JDatePicker 文本框中重置日期?
datePicker.getJFormattedTextField().setText("");
关于java - 如何从 JDatePicker 中提取和重置日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30831283/