java日期时间选择控件(代码) - 编程入门网
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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |