JTextField怎样使键盘按下的键不输出? 因为我要判断是否为数字,为数字就输出,按下的话不为数字就不输出。 现在实现了判断,但是不知道怎么使不输出 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 既然判断了那还不好弄怎样输出的问题?在判断为字符的时候,取出textField里面内容,然后再set进去判断为数字的时候,就append到textField后面。 写个类:import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.PlainDocument; public class NumOnly extends PlainDocument{ public void insertString(int offs,String str,AttributeSet a) throws BadLocationException{ for(int i=0;i<str.length();i++){ if(str.charAt(i)<'0'||str.charAt(i)>'9'){ return; } } super.insertString(offs,str,a); }} 然后在调用一下JTextField的一个方法即可:jtextField.setDocument(new NumOnly()); 小小疑问~~~~~~~~ java静态变量初始化的问题 struts 打开新画面问题 怎样用JAVA程序完全备份SQL SERVER数据库? FORTRAN77 数组 请问如何用指定的播放器打开AVI 文件? GridBagLayout 问题一大堆 请教j2sdk(jdk)与j2se的关系? 高分(200)求解:如何获得某打印机的打印作业。获得后如何取消某个作业。 在线等。 此题结果是0,请高手指点原因 Java记事本在打开文件后如何改变标签的名称 我在配置jdk运行javac一直提示找不到或无法加载主类
在判断为字符的时候,取出textField里面内容,然后再set进去
判断为数字的时候,就append到textField后面。
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument; public class NumOnly extends PlainDocument{
public void insertString(int offs,String str,AttributeSet a) throws BadLocationException{
for(int i=0;i<str.length();i++){
if(str.charAt(i)<'0'||str.charAt(i)>'9'){
return;
}
}
super.insertString(offs,str,a);
}
}
然后在调用一下JTextField的一个方法即可:
jtextField.setDocument(new NumOnly());