background image

 
}
 
  使用 Swing 类
  对于 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):监听文本内容的删除事件。

  和处理 TextField 组件一样,定义新类(本文为 Swing_OnValueChanged)、加入说明、编
写代码后,就可以实现所需功能了。
  编程实现
  下面给出实现监控功能的关键部分的 Java 代码。完整代码编译后在 Java 虚拟机上运
行.
  在两个编辑框中或输入或删除或选中后修改,只要文本框中的内容得到了确切的改
变,就会触发相应的事件,从而产生输出(在字符界面上)。
  

public

 

class

 JFrame1 

extends

 JFrame

  {
  

public

 JFrame1()

  { 

//生成图形界面

 

……

  
  

//对 Exit 按钮的事件定义

 
  btnAction exitAction = 

new

 btnAction();

  JButton1.addActionListener(exitAction);
  

//定义 TextField 组件的文本监听

 
  textField1.addTextListener(

new

 AWT_OnValue

  Changed());
  

//定义 JTextField 组件的文本监听

 
  JTextField1.getDocument().addDocumentListener
  (

new

 Swing_OnValueChanged ());

  }
  

//根据接口 TextListener 定义新 AWT_OnValue