【Java】 JTextField文本框实时监控
2016-03-31 16:43
651 查看
最近在做课程设计,有遇到一个想法,就是在JTextField文本框输入数据的时候实时判断这个数据在数据库中能不能找到对应的记录。
如果有显示在屏幕上,没有的话不显示信息。
查阅API后得知需要JTextField中的getDocument()函数,为这个方法添加文本监听器addDocumentListener,这个监听器下有三个自动写好的方法insertUpdate(),removeUpdate(),changedUpdate(),分别能够实现插入更新、删除更新、更改文本的监听。
由于JTextField中的文本只限于上述这三种形式的改变,因此通过getDocument()方法再增添此种监听器可以实现JTextField文本框输入数据的实时判断功能。
以下列出代码举例。
以上代码实现实时监控(JTextField)textField_1中的文本,连接数据库查询是否存在该文本输入的数据作为编号在利率单中所对应的类型。若存在该类型则在下面的JTextArea中输出,否则显示为空。
运行结果如上。Eclipse-Java Mars、JDK1.8实测通过。
如果有显示在屏幕上,没有的话不显示信息。
查阅API后得知需要JTextField中的getDocument()函数,为这个方法添加文本监听器addDocumentListener,这个监听器下有三个自动写好的方法insertUpdate(),removeUpdate(),changedUpdate(),分别能够实现插入更新、删除更新、更改文本的监听。
由于JTextField中的文本只限于上述这三种形式的改变,因此通过getDocument()方法再增添此种监听器可以实现JTextField文本框输入数据的实时判断功能。
以下列出代码举例。
textField_1.getDocument().addDocumentListener (new DocumentListener() { @Override public void insertUpdate(DocumentEvent e) { // TODO Auto-generated method stub ResultSet rs = new DBOperation().dbope("select 类型 from 利率单 where 编号='"+textField_1.getText().trim()+"'"); try { if(rs.next()) { textArea_1_show.setText(rs.getString(1)); } else { textArea_1_show.setText(""); } } catch (SQLException e1) { // TODO Auto-generated catch block //e1.printStackTrace(); textArea_1_show.setText("编号有误"); } } @Override public void removeUpdate(DocumentEvent e) { // TODO Auto-generated method stub ResultSet rs = new DBOperation().dbope("select 类型 from 利率单 where 编号='"+textField_1.getText().trim()+"'"); try { if(rs.next()) { textArea_1_show.setText(rs.getString(1)); } else { textArea_1_show.setText(""); } } catch (SQLException e1) { // TODO Auto-generated catch block //e1.printStackTrace(); textArea_1_show.setText("编号有误"); } } @Override public void changedUpdate(DocumentEvent e) { // TODO Auto-generated method stub ResultSet rs = new DBOperation().dbope("select 类型 from 利率单 where 编号='"+textField_1.getText().trim()+"'"); //数据库连接,SQL语句实参传入形参str执行dbope(String str)方法. try { if(rs.next()) { textArea_1_show.setText(rs.getString(1)); } else { textArea_1_show.setText(""); } } catch (SQLException e1) { // TODO Auto-generated catch block //e1.printStackTrace(); textArea_1_show.setText("编号有误"); } } });
以上代码实现实时监控(JTextField)textField_1中的文本,连接数据库查询是否存在该文本输入的数据作为编号在利率单中所对应的类型。若存在该类型则在下面的JTextArea中输出,否则显示为空。
运行结果如上。Eclipse-Java Mars、JDK1.8实测通过。
相关文章推荐
- 常用DOS命令
- Spring Bean 创建过程
- Java解决火狐浏览器使用uploadify上传报错302以及报IO error错问题
- Java中的wait()方法与notify(),notifyAll()方法
- Web必知必会Cookie与Session
- Java多线程模拟实现消费者生产者问题
- Java的动态代理
- [Java]数据存储(栈,堆,常量池)
- 【eclipse】No enclosing instance of type A is accessible. Must qualify the allocation with an enclosing instance of type A
- SpringWeb ContextLoaderListener 初始化过程
- 认识java中的堆和栈
- SpringMVC DispatcherServlet 初始化过程
- java后台通过url获取返回数据
- java#2servlet
- Java 四种线程池的用法分析
- Struts2 传递参数map对象
- 华为上机题-二师弟的星际加法
- JavaEE_3_30_servlet详细介绍
- Swagger与SpringMVC项目整合
- maven eclipse 安装