用TextListener。
如果JTextField中的内容改变。
则会调用textValueChanged函数
再判断一下JTextField中的值是否满足要求
如不满足,则改变它的内容
如果JTextField中的内容改变。
则会调用textValueChanged函数
再判断一下JTextField中的值是否满足要求
如不满足,则改变它的内容
解决方案 »
- Java反射NoSuchMethodException问题
- java说是为了电视机顶盒而出生的,请问,我们国家的哪些是支持java的?
- 几个java基础问题
- 基于SMTP的邮件发送程序,不知道那里出错了!
- 菜鸟问NetBeans IDE弄了一个小程序,生成jar包,怎么运行啊?
- 请问如何把从pl/sql中读出的OracleTypes.DATE型数据转换成String型“yyyy/MM/dd HH:mm”
- 关于JEditorPane里面由超链接变不超链接的问题?
- 请教一个超复杂问题:如何在一个32位的系统中显示64位长的数据?
- 如何在applet的窗体或组件上显示图片
- java为什么这段代码不能运行呀?
- 我快要气死了,我的Eclipse总是启动不了,
- 菜鸟求救:Java编程常用的类
textArea.getDocument().addDocumentListener( new DocumentListener()
{
public void insertUpdate(DocumentEvent event) //插入(包括末尾插入)
{
bContentChanged = true ;
}
public void removeUpdate(DocumentEvent event) //删除
{
bContentChanged = true ;
}
public void changedUpdate(DocumentEvent event) { }
} ) ; //文本域内容是否改变监视器
public void removeUpdate(DocumentEvent event); //删除上面这两个方法是在Document的DocumentEvent事件触发后才会调用的,
然而在这两个方法里面不可以修改jtxtField的值的,否则会有异常.
mengxianwei007(斩不断<==>理还乱) 同学:jtxtField的值改变不一定会触发key事件的.
不過有點麻煩,建議你耐心點看.
我以前為了解決只允許輸入整數的問題看過一段時間,不過實在是麻煩.
public void insertString(int offs, String str, AttributeSet attr) throws
BadLocationException {
char c=str.charAt(0);
if((c=='1') || (c=='3') || (c=='5')|| (c=='7')|| (c=='9'))
{
try{super.insertString(offs, new String(input, 0, length), attr);}
catch(BadLocationException e){}
}
catch(BadLocationException e){}
return;
}
我的意思明白了吗?
就是在插入的时候进行判断如果服合你的要求就插,要不然就不退出insterString函数
你可以写一个PlainDocument的子类
在其子类中重写insterString函数,OK。
public void insertString(int offs, String str, AttributeSet attr) throws
BadLocationException {
char c=str.charAt(0);
if((c=='1') || (c=='3') || (c=='5')|| (c=='7')|| (c=='9'))
{
try{super.insertString(offs, new String(input, 0, length), attr);}
catch(BadLocationException e){}
}
catch(BadLocationException e){}
return;
}
我的意思明白了吗?
就是在插入的时候进行判断如果服合你的要求就插,要不然就不退出insterString函数
你可以写一个PlainDocument的子类
在其子类中重写insterString函数,OK。