码迷,mamicode.com
首页 > Windows程序 > 详细

Swing应用开发实战系列之二:设计日期选择面板窗口

时间:2015-12-10 16:29:44      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:

 

Swing本身没有提供什么华丽丽的日期时间选择控件,所以笔者就在网上搜了个第三方的jar包jdatepicker-1.3.2.jar,基于此设计了个很轻量的日期选择面板,很简单的。效果图如下所示:

技术分享

代码如下:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JTextField;
import net.sourceforge.jdatepicker.JDateComponentFactory;
import net.sourceforge.jdatepicker.JDatePanel;
import net.sourceforge.jdatepicker.impl.UtilDateModel;
/**
 * Description:日期选择面板窗口<br>
 * Copyright: Copyright (c) 2015<br>
 * Company: 河南电力科学研究院智能电网所<br>
 * @author shangbingbing 2015-01-01编写
 * @version 1.0
 */
public class DialogDatePicker extends JDialog {
    private static final long serialVersionUID = 1L;
    /**
     * 弹出日期选择窗口
     * @param modal 是否是模态窗口
     * @param txtSelectedDate 日期内容接收文本框
     * @param screenX 显示X点坐标
     * @param screenY 显示Y点坐标
     */
    public DialogDatePicker(boolean modal, final JTextField txtSelectedDate,int screenX,int screenY) {
        final JDatePanel jp = JDateComponentFactory.createJDatePanel(new UtilDateModel(new Date()));
        jp.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                if(txtSelectedDate != null) {
                    try{
                        txtSelectedDate.setText(new SimpleDateFormat("yyyy-MM-dd").format(jp.getModel().getValue()));
                    } catch (Exception ex) {
                        txtSelectedDate.setText("");
                    }
                }
            }
        });
        JPanel pnl = (JPanel)jp;
        this.add(pnl);
        this.setTitle("选择日期");
        this.setResizable(false);
        this.setModal(modal);
        this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
        this.setBounds(screenX, screenY, 300, 300);
        this.setVisible(true);
    }
    
    public static void main(String[] args) {
        JTextField txtDate = new JTextField();
        new DialogDatePicker(true,txtDate,300,400);
        System.out.println(txtDate.getText());
    }
}

 

【完】

作者:商兵兵

单位:河南省电力科学研究院智能电网所

QQ:52190634

主页:http://www.cnblogs.com/shangbingbing

空间:http://shangbingbing.qzone.qq.com

Swing应用开发实战系列之二:设计日期选择面板窗口

标签:

原文地址:http://www.cnblogs.com/shangbingbing/p/5036248.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!