您的位置:首页 > 其它

JTextField实现实时动态监听

2015-05-15 11:22 260 查看
第一:想要实时动态的监听文本框每输入的内容,需要利用JTextField的抽象类JTextComponent,调用getDocument()方法来返回一个Document对象 

Java代码  


//获取与编辑器关联的模型  

Document doc = textField.getDocument();  

第二:利用获取的Document对象,来添加一个DocumentListener监听器。因为该监听器就可以实现动态的跟踪文本框的输入内容。实现DocumentListener接口,必须重写该接口中的三个方法 

1、void insertUpdate(DocumentEvent e) 

2、void removeUpdate(DocumentEvent e) 

3、void changedUpdate(DocumentEvent e) 

第三:下面给出一个简短的代码片段,供给大家参考 

Java代码  


package com.gxa.edu;  

  

import javax.swing.JFrame;  

import javax.swing.JTextField;  

import javax.swing.text.Document;  

import javax.swing.event.DocumentListener;  

import javax.swing.event.DocumentEvent;  

  

/** 

* author:国信安百杰 

*/  

public class TextFieldFrame extends JFrame implements DocumentListener {  

  

    private JTextField textField;  

      

    public TextFieldFrame() {  

        super("动态实时监听TextField");  

        init();  

    }  

      

    public void init() {  

        textField = new JTextField();  

          

        //获取与编辑器关联的模型  

        Document doc = textField.getDocument();  

          

        //添加DocumentListener监听器  

        doc.addDocumentListener(this);  

    }  

      

    /** 

    * 实现DocumentListener接口中insertUpdate方法 

    * 该方法可以跟踪文本框中输入的内容 

    */  

    public void insertUpdate(DocumentEvent e) {  

        Document doc = e.getDocument();  

        String s = doc.getText(0, doc.getLength); //返回文本框输入的内容  

    }  

      

    /** 

    * 实现DocumentListener接口removeUpdate方法 

    * 该方法可以跟踪文本框中移除的内容,例如:在文本框中点击Backspace 

    */  

    public void removeUpdate(DocumentEvent e) {  

        Document doc = e.getDocument();  

        String s = doc.getText(0, doc.getLength); //返回文本框输入的内容  

    }  

      

    /** 

    * 实现DocumentListener接口changedUpdate方法 

    * 该方法可以跟踪当文本框中已存在的内容改变时,获取相应的值 

    */  

    public void changedUpdate(DocumentEvent e) {  

        Document doc = e.getDocument();  

        String s = doc.getText(0, doc.getLength); //返回文本框输入的内容  

    }  

  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: