📄 jdatetimefield.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 + -