日期:2014-05-20  浏览次数:20809 次

如何判断文本框是否修改,高手给指点一下,谢谢!
如何判断文本框是否被修改,高手给指点一下,谢谢!

------解决方案--------------------
可以使用CaretUpdate事件监测光标移动.只要光标在文本框上移动就会触发事件
------解决方案--------------------
如果内容不大的话,可以用另一个东西去保存它,让它们比较,如果不相同就认为被修改了啊
------解决方案--------------------
看你用的是什么包了。如果是用AWT包中的类的话,可以使用TextListener,该接口中含有textValueChanged()方法。如果使用Swing中的JTextField类,实现监控的过程则相对复杂一些。JTextField中没有设置TextListener,而是将对文本的监视任务放入了另外一个接口Document中。因此首先要为JTextField对象申请一个Document接口对象,使用的方法是JTextField1.getDocument()(本文给出的JTextField对象名为JTextField1)。获得Document后,就可以使用addDocumentListener()来得到一个和TextListener功能类似的监听接口。DocumentListener的完整声明如下:
  interface DocumentListener extends EventListener
  它在包java.swing.event.DocumentListener中定义,其中包含了三个方法:
  public void changedUpdate(DocumentEvent e):监听文本属性的变化;
  public void insertUpdate(DocumentEvent e):监听文本内容的插入事件;
  public void removeUpdate(DocumentEvent e):监听文本内容的删除事件。
这样,定义一个新类,把这三个加进去就行了。
------解决方案--------------------
用个map,配合FocusListener,DocumentListener用起来不是很方便个人感觉。
------解决方案--------------------
laowantong06()

用了这么长时间还真没注意到这些
------解决方案--------------------
我的方法笨了一点,不过测试还算通过,你测试一下
1.设置一个变量String temp=null;(如果是跨类的,可以设置成全局的公共静态变量)
2.对你要判断的文本框添加keyReleased事件
3.在事件中添加如下代码
String tt=textField_1.getText();
if (tt.equals(temp)==false){
System.out.println( "文本框被改变 ");
}
temp=tt;
------解决方案--------------------
onchange