格式化输入日期时间控件 JieFormattedDateBox
格式化输入日期时间控件
可以用
JieFormattedDateBox box = new JieFormattedDateBox("yyyy年MM月dd日HH点mm分ss秒");
输入
也可以用
JieFormattedDateBox box = new JieFormattedDateBox("HH:mm:ss");
来输入时间
还可以这样用
JSpinner spinner = new JSpinner();
JieFormattedDateBox fdb = new JieFormattedDateBox(format);
spinner.setModel(fdb);
spinner.setEditor(fdb);
/////////////////////////////////////////////////
package org.jie.ui.formattedbox;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JFormattedTextField;
import javax.swing.SpinnerModel;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.event.ChangeListener;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.DefaultFormatterFactory;
import javax.swing.text.MaskFormatter;
public class JieFormattedDateBox extends JFormattedTextField implements SpinnerModel{
private String format;
private SimpleDateFormat timeFormat;
private Timestamp time;
public void setTime(Timestamp time){
if(time != null)
setValue(time);
}
public Timestamp getTime(){
return time;
}
public static String replace(String src,String replaceSrc,String replaceWith){
if(src == null) return null;
StringBuffer sb = new StringBuffer();
int start = 0;
int end = src.indexOf(replaceSrc);
while(end >= 0){
sb.append(src.substring(start,end));
start = end+replaceSrc.length();
end = src.indexOf(replaceSrc,start);
sb.append(replaceWith);
}
sb.append(src.substring(start));
return sb.toString();
}
推荐文章 |
