快速业务通道

java日期时间选择控件(代码) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-25

java日期时间选择控件(代码)

时间:2007-05-30 一次项目研发中需要日期时间选择控件,网上提供的不多,且质量一般,所以只好自己做,参考了网上某位同学的作品Jave日期选择控件DateChooser 。

目前的代码将日期时间选择封装在一个按钮组件内,应该很好用,支持Application 、Applet

CODE:

import java.util.Date;import java.util.Calendar;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.text.ParseException ;import java.awt.Color ;import java.awt.Font;import java.awt.Point ;import java.awt.Dimension ;import java.awt.BorderLayout ;import java.awt.FlowLayout ;import java.awt.GridLayout ;import java.awt.Component ;import java.awt.Cursor ;import java.awt.Frame ;

import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;//import javax.swing.JFrame;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JPanel;import javax.swing.JLabel;import javax.swing.JSpinner ;import javax.swing.JSpinner.NumberEditor ;import javax.swing.SpinnerNumberModel;import javax.swing.SwingUtilities;import javax.swing.SwingConstants ;import javax.swing.event.ChangeListener ;import javax.swing.event.ChangeEvent ;import javax.swing.border.LineBorder ;

public class DateChooserJButton extends JButton {

private DateChooser dateChooser =null;

private String preLabel ="" ;

public DateChooserJButton() {this(getNowDate()) ;}

public DateChooserJButton(SimpleDateFormat df , String dateString) {this() ;setText(df,dateString) ;}

public DateChooserJButton(Date date) {this("",date);}

public DateChooserJButton(String preLabel , Date date) {if (preLabel!=null) this.preLabel = preLabel ;setDate(date) ;setBorder(null) ;setCursor(new Cursor(Cursor.HAND_CURSOR)) ;super.addActionListener( new ActionListener() {public void actionPerformed(ActionEvent e) {if (dateChooser==null) dateChooser = new DateChooser();Point p = getLocationOnScreen() ;p.y = p.y+30 ;dateChooser.showDateChooser(p) ;} }) ;}

private static Date getNowDate() {return Calendar.getInstance().getTime() ;}

private static SimpleDateFormat getDefaultDateFormat() {return new SimpleDateFormat("yyyy年MM月dd日HH时") ;}

java日期时间选择控件(代码)(2)

时间:2007-05-30

//覆盖父类的方法public void setText(String s) {Date date ;try {date = getDefaultDateFormat().parse(s) ; }catch (ParseException e) {date = getNowDate() ;}setDate(date) ;}

public void setText(SimpleDateFormat df , String s) {Date date ;try {date = df.parse(s) ;}catch (ParseException e) {date = getNowDate() ;}setDate(date) ;}

public void setDate(Date date) {super.setText(preLabel+getDefaultDateFormat().format(date));}

public Date getDate() {String dateString = getText().substring(preLabel.length());try {return getDefaultDateFormat().parse(dateString); } catch (ParseException e) {return getNowDate() ;}

}

//覆盖父类的方法使之无效public void addActionListener(ActionListener listener ) {}

private

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号