当前位置: 技术问答>java相关
只能录入数字的文本框
来源: 互联网 发布时间:2015-04-19
本文导语: 我想做一个只能录入数字的文本框,它不接受除0~9外的任何字符的输入,请问:在JAVA中应该怎么做呢? | jTextField.setDocument(new NumberDocument()); class NumberDocument extends PlainDocument{ public vo...
我想做一个只能录入数字的文本框,它不接受除0~9外的任何字符的输入,请问:在JAVA中应该怎么做呢?
|
jTextField.setDocument(new NumberDocument());
class NumberDocument extends PlainDocument{
public void insertString(int offset,String s,AttributeSet attributeSet)throws BadLocationException {
try{
if(!s.equals (".") && !s.equals ("-")){
Integer.parseInt(s,10);
}
String src=/tech-qa-java/this.getText(0,this.getLength ());
Double.parseDouble (src.substring (0,offset)+s+src.substring (offset,src.length ()));
}
catch(Exception ex){
Toolkit.getDefaultToolkit().beep ();
return;
}
super.insertString (offset,s,attributeSet);
}
}
class NumberDocument extends PlainDocument{
public void insertString(int offset,String s,AttributeSet attributeSet)throws BadLocationException {
try{
if(!s.equals (".") && !s.equals ("-")){
Integer.parseInt(s,10);
}
String src=/tech-qa-java/this.getText(0,this.getLength ());
Double.parseDouble (src.substring (0,offset)+s+src.substring (offset,src.length ()));
}
catch(Exception ex){
Toolkit.getDefaultToolkit().beep ();
return;
}
super.insertString (offset,s,attributeSet);
}
}