`
caleb_520
  • 浏览: 247019 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JTextField实现实时动态监听

阅读更多
今天讲一讲关于实现JTextField实时动态监听的功能。想必大家都买过火车票,大家是否还记得在输入要查询火车票的时候,下面的JTable会根据输入的信息,马上动态的更新查询的结果。

那么今天就来为大家讲述实现的过程

第一:想要实时动态的监听文本框每输入的内容,需要利用JTextField的抽象类JTextComponent,调用getDocument()方法来返回一个Document对象
//获取与编辑器关联的模型
Document doc = textField.getDocument();


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

1、void insertUpdate(DocumentEvent e)
2、void removeUpdate(DocumentEvent e)
3、void changedUpdate(DocumentEvent e)


第三:下面给出一个简短的代码片段,供给大家参考
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); //返回文本框输入的内容
	}

}
分享到:
评论

相关推荐

    java课程设计

    内部类:sure_actionperformed,按钮的事件监听,实现对数据的插入。 主要成员方法:public Insert(); (3)类名:Update 作用:对个人信息进行修改。 继承的父类:Jframe 主要实现接口:ActionListener 主要成员...

    JAVA实验通讯录-实验报告.pdf

    在实现过程中,定义 PhoneBook 类继承了 MouseAdapter 类与 ActionListener 接口,就可以用 Book 类来实现按钮命令监听器和鼠标事件监听 器。如果出现错误操作,会在控制台出现异常,且操作无效。 模块划分与说明 ...

    界面标准的JAVA日历记事本

    1 JButton数组 JLabel JTextField 定义及应用 2 主窗体的显示,JFRAME 类... 5为各个按钮及标签添加监听 通过ActionPerform MousePressed实现其动作 6 保存日志 显示日志及删除日志,总过创建哈希表来进行文件的读写

    java模拟科学计算器课程设计(1).doc

    " "Num类为内部类,是一个监听器类,实现Actionlistener,实现数字输入的事件监听 " "。当点击0-9这十个数字按钮时,如果是要输入的运算数则将文本框清空后将数字显 " "示在文本框中。 " "Dot类为内部类,是一个...

    java课程设计---局域网聊天程序的设计与实现.doc

    课程设计报告 设计名称: 面向对象课程设计 选题名称: 局域网聊天程序的设计与实现 姓 名: 学 号: 专业班级: 系 (院): 设计时间: 设计地点: "指导教师评语: " " " " " " " " " " " " " " " " " " " "签名...

    java模拟科学计算器课程设计.doc

    " "Num类为内部类,是一个监听器类,实现Actionlistener,实现数字输入的事件监听 " "。当点击0-9这十个数字按钮时,如果是要输入的运算数则将文本框清空后将数字显 " "示在文本框中。 " "Dot类为内部类,是一个...

    聊天室java可以实现传送文件功能

    tfServer = new JTextField(15); tfServer.setText("127.0.0.1"); tfPort = new JTextField(6); tfPort.setText("8000"); tfName = new JTextField(20); pwd = new JPasswordField(20); btnLogin = new ...

    java编写的计算器,能实现加减乘除

    java编写的计算器,能实现加减乘除。 //***该梦幻计算器与Windows附件自带计算器的标准版功能、界面相仿***// //******但还不支持键盘操作,如有需要,下一次等级将满足你**********// import java.awt.*; import ...

    Java连接SQL数据库实现登陆

    JTextField txtName = new JTextField(10); //lblName.setHorizontalAlignment(JLabel.CENTER); panel.add(new JLabel("用户名:")); panel.add(txtName); JLabel lblPassword = new JLabel("密码:"); ...

    多线程排号系统课程设计

    private JTextField portTf = new JTextField("80", 5);//初始化控件,创建TextField(文本行类),默认端口号为,长度为 private JButton controlBtn = new JButton("Start");//初始化Button(按钮)(控制)控件 ...

    上机实验-2 (1).doc

    numberField.addKeyListener(new KeyAdapter() {//键盘事件监听者 public void keyTyped(final KeyEvent e) { double sum = 0,avg = 0; switch(e.getKeyChar()) { case KeyEvent.VK_SPACE: //分隔符为空格 ...

    数据库实验完整版 通讯录

    //实现ActionListener接口 public void actionPerformed(ActionEvent e) { if(e.getSource()==btn) { //点击更新按钮的操作 getname=jtfArray[1].getText().trim(); System.out.println("test:"+...

    JAVA课程设计淘宝管理系统.doc

    设计思路:向 Frame 中添加容器,在 north 中添加文本框,center 中添加面板, 面板设为 gridlayout 布局,然后添加按纽,设置监听器,设置事件和响应。 五、程序源代码(详细设计) import java.awt.*; import ...

    java范例开发大全源代码

     实例163 使用抽象方法实现的支票夹 254  9.2 封装 257  实例164 世界小姐参赛资格 257  实例165 自定义复数类 261  9.3 继承 264  实例166 轿车与本田的关系 264  实例167 继承关系的加载顺序 ...

    旅店管理系统界面-手工书写

    // 加入buttongroup,实现单选 bg.add(SetClean); bg.add(SetDark); bg.add(SetUsing); bg.add(SetHouseNum); bg.add(SetEmpty); bg.add(Delete); bg.add(Bujiaoyajin); //bg.add(Delete); // ...

    列车管理系统

    通常用户不会去关心程序的界面是如何实现的,更多的会在意界面中提供的信息、功能及界面的布局是否合理。所以在进行界面设计时,不仅要从程序开发的角度上分析,还要考虑到界面的美观及布局。  本系统前台主界面的...

    chatRoom 聊天室

    chatRoom.zip 聊天室聊天室服务端 package chatroom; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;... // 为jtf添加事件监听,JTextField敲回车...

    Java范例开发大全 (源程序)

     实例216 动态的数组链表 382  实例217 你能猜出鱼是谁的宠物吗? 387  实例218 使用Collections类对List的排序操作 393  实例219 LinkedList的添加删除操作 395  实例220 运用Vector 397  实例221 改变...

    java范例开发大全(pdf&源码)

    实例216 动态的数组链表 382 实例217 你能猜出鱼是谁的宠物吗? 387 实例218 使用Collections类对List的排序操作 393 实例219 LinkedList的添加删除操作 395 实例220 运用Vector 397 实例221 改变Properties文件中的...

    java范例开发大全

    实例216 动态的数组链表 382 实例217 你能猜出鱼是谁的宠物吗? 387 实例218 使用Collections类对List的排序操作 393 实例219 LinkedList的添加删除操作 395 实例220 运用Vector 397 实例221 改变Properties文件中的...

Global site tag (gtag.js) - Google Analytics