如何实现JDatePicker [英] How do I implement JDatePicker

查看:737
本文介绍了如何实现JDatePicker的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用JDatePicker的最新版本1.3.4。如何实现?



我收到编译器错误:构造函数JDatePanelImpl(UtilDateModel)未定义。建议的修复方法是:添加参数以匹配JDatePanelImpl(DateModel,Properties)。应该作为属性参数传递什么?

  import javax.swing。*; 
import java.awt。*;
import java.awt.event。*;
import java.sql。*;
import java.util。*;
import java.util.Calendar;
import java.util.Date
import org.jdatepicker.impl。*;
import org.jdatepicker.util。*;
import org.jdatepicker。*;

// import org.jdatepicker.graphics。*;
class date2 {

void GUI(){
JFrame f1 = new JFrame();
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f1.setSize(300,300);
f1.setVisible(true);

容器conn = f1.getContentPane();
conn.setLayout(null);

UtilDateModel model = new UtilDateModel();
//model.setDate(20,04,2014);
JDatePanelImpl datePanel = new JDatePanelImpl(model);
JDatePickerImpl datePicker = new JDatePickerImpl(datePanel);
f1.add(datePicker);

}

}

... Runner ...

  class testDate2 {

public void main(String [] args){

date2 d1 = new date2();
d1.GUI();

}

}


解决方案假设你正在使用1.3.4,那么构造函数的要求已经改变了...

  UtilDateModel模型= new UtilDateModel(); 
//model.setDate(20,04,2014);
//需要这个...
属性p = new Properties();
p.put(text.today,今天);
p.put(text.month,月);
p.put(text.year,Year);
JDatePanelImpl datePanel = new JDatePanelImpl(model,p);
//不知道格式化程序,但是它是...
JDatePickerImpl datePicker = new JDatePickerImpl(datePanel,new DateLabelFormatter());



使用这个 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){
日历cal = )值
return dateFormatter.format(cal.getTime());
}

return;
}

}


I am working with the latest release 1.3.4 of JDatePicker. How should it be implemented?

I get a compiler error: The constructor JDatePanelImpl(UtilDateModel) is undefined. The suggested fix is to: add argument to match JDatePanelImpl(DateModel, Properties). What should be passed in as the properties argument?

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import java.util.Calendar;
import java.util.Date;
import org.jdatepicker.impl.*;
import org.jdatepicker.util.*;
import org.jdatepicker.*;

    //import org.jdatepicker.graphics.*;
class date2 {

    void GUI() {
        JFrame f1 = new JFrame();
        f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f1.setSize(300, 300);
        f1.setVisible(true);

        Container conn = f1.getContentPane();
        conn.setLayout(null);

        UtilDateModel model = new UtilDateModel();
        //model.setDate(20,04,2014);
        JDatePanelImpl datePanel = new JDatePanelImpl(model);
        JDatePickerImpl datePicker = new JDatePickerImpl(datePanel);
        f1.add(datePicker);

    }

}

...Runner...

class testDate2 {

    public void main(String[] args) {

        date2 d1 = new date2();
        d1.GUI();

    }

}

解决方案

Assuming you are using 1.3.4, then the constructor requirements have changed...

UtilDateModel model = new UtilDateModel();
//model.setDate(20,04,2014);
// Need this...
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);
// Don't know about the formatter, but there it is...
JDatePickerImpl datePicker = new JDatePickerImpl(datePanel, new DateLabelFormatter());

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

}

这篇关于如何实现JDatePicker的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆