⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jdatetimefield.java

📁 这是一款应用程序与数据库联接
💻 JAVA
字号:
/* ===========================================================
 * JDBMonitor : a flexiable JDBC Monitor for the Java(tm) platform
 * ===========================================================
 *
 * (C) Copyright 2006-2006, by yang zhongke
 *
 * Project Info:  http://www.cownew.com
 *
 * This library is free software; you can redistribute it and/or modify it 
 * under the terms of the GNU Lesser General Public License as published by 
 * the Free Software Foundation; either version 2.1 of the License, or 
 * (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful, but 
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 
 * License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
 * USA.  
 *
 * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 
 * in the United States and other countries.]
 *
 * ---------------
 * JDateTimeField.java
 * ---------------
 * (C) Copyright 2006-2006, by yang zhongke
 *
 * Original Author:  yang zhongke;
 *
 * Changes
 * -------
 *
 */
package com.cownew.JDBMonitor.listenerImpl.uicommon;

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.swing.JFormattedTextField;
import javax.swing.text.DateFormatter;

/**
 * a text component that only DateTime format is permitted
 * @author yang zhongke
 */
public class JDateTimeField extends JFormattedTextField
{
	private static final long serialVersionUID = 8708928305986857254L;
	protected 	Pattern datePattern;

	public JDateTimeField()
	{
		super(new DateFormatter(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")));
		setValue(new Timestamp(System.currentTimeMillis()));
		datePattern = Pattern.compile("(\\d+)-(\\d+)-(\\d+) (\\d+):(\\d+):(\\d+)");		
	}	
	
	/**
	 * convert the text the user input to Timestamp,
	 * and return it
	 * @return
	 */
	public Timestamp getTimeStamp()
	{
		Matcher dateMatcher = datePattern.matcher(getText());
		if(!dateMatcher.matches())
		{
			return null;
		}
		String sYear = dateMatcher.group(1);
		String sMonth = dateMatcher.group(2);
		String sDay = dateMatcher.group(3);
		String sHour = dateMatcher.group(4);
		String sMin = dateMatcher.group(5);
		String sSec = dateMatcher.group(6);
		
		int iYear = Integer.parseInt(sYear)-1900;
		int iMonth = Integer.parseInt(sMonth)-1;
		int iDay = Integer.parseInt(sDay);
		int iHour = Integer.parseInt(sHour);
		int iMin = Integer.parseInt(sMin);
		int iSec = Integer.parseInt(sSec);
		Timestamp ret = new Timestamp(iYear,iMonth,iDay,iHour,iMin,iSec,0);
		return ret;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -