package com.vci.client.ui.swing.components;
|
|
import java.awt.event.KeyAdapter;
|
import java.awt.event.KeyEvent;
|
import java.io.Serializable;
|
|
import javax.swing.text.Document;
|
|
import com.vci.client.ui.swing.components.VCIJTextField;
|
|
public class VCIJRealTextField extends VCIJTextField implements Serializable {
|
|
/**
|
*
|
*/
|
private static final long serialVersionUID = -2711989168936034987L;
|
/**
|
*
|
*/
|
|
public VCIJRealTextField(String text){
|
super(text);
|
addKeyListener(new KeyAdapter() {
|
public void keyReleased(KeyEvent e){
|
this_keyReleased(e);
|
}
|
});
|
}
|
|
private void this_keyReleased(KeyEvent e){
|
String text = getText();
|
if(text.equals("")) return;
|
// 数值不能以-.或.开头
|
if(text.startsWith("-.")){
|
text = "-0." + text.substring(2);
|
} else if(text.startsWith(".")){
|
text = "0." + text.substring(1);
|
}
|
String str = text.substring(0, text.length() - 1);
|
String last = text.substring(text.length() - 1);
|
// Real类型的输入时,只能出现一个.
|
if(last.equals(".")){
|
if(str.indexOf(".") > 0){
|
text = str;
|
}
|
}
|
setText(text);
|
}
|
|
@Override
|
protected Document createDefaultModel(){
|
return new NumberPlainDocument(true);
|
}
|
}
|