`

Java Swing 判断JTextField value change listener

    博客分类:
  • java
阅读更多

今天遇到一个不大不小的问题,本来看似比较简单,结果处理起来,花了我好长时间。

这个版本有一个Issue,需要自动计算一个Field的值,但是要考虑前一个文本框的值是否有改变,后面显示的值再跟着改变,如果基础值没有发生变化,则需要计算的值不改变。

 

之前用的是addFocusListener这个事件,但如果加上上面这个需求,就满足不了。所以就想试试有没有其他事件。因为这不是awt的,所以也没有addTextListener事件。也有说用这个事件

jTextField.getDocument().addDocumentListener(new   DocumentListener(){

    ......

});

但是我添加了DocumentListener事件之后,没有反应。所以,后面,自己定义了一个全局变量strikePercentLast 。 在每次focus之后,保存下当前的textField的值。而当下一次进入该Focus方法 的时候,再用当前的textField的值strikePercentCurr对比。判断值是否发生改变,再调用之前的Focus的方法。

private Double strikePercentLast ;

namePage1StrikePricePercent.addFocusListener(new java.awt.event.FocusAdapter() {
			public void focusGained(java.awt.event.FocusEvent e) {
				//Focus gained
				namePage1StrikePricePercent.selectAll();
			}
			public void focusLost(FocusEvent e) {
				if(namePage1StrikePricePercent.getText() != null && !namePage1StrikePricePercent.getText().trim().equals("")) {
					Double strikePercentCurr = Double.valueOf(namePage1StrikePricePercent.getText().replace(",", ""));
					if(strikePercentCurr != null && !strikePercentCurr.equals(strikePercentLast)){
						strickOfSpotPriceFocus(strikePercentCurr);
						strikePercentLast = Double.valueOf(namePage1StrikePricePercent.getText().replace(",", ""));
					}
				}else{
					NamePage1StrikePrice.setText("0");
					jLabelStrickPriceOfSpotPriceValue.setText("0");
				}
			}
		});

 

分享到:
评论

相关推荐

    java swing-JTextField的使用

    JTextField是Java Swing库中的一个组件类,用于接收用户的文本输入。

    java swing漂亮界面(超酷) javaswing教程

    Java Swing 是Java编程语言中用于构建桌面应用程序用户界面的一个库,它是Java Foundation Classes (JFC) 的一部分。Swing 提供了一系列组件,如按钮、文本框、菜单等,用于创建功能丰富的图形用户界面(GUI)。在...

    Java Swing JTextField 搜索引擎 信息检索(源码)

    实现信息检索功能 像百度的网页搜索框 搜索相关资源并可以选择并显示搜索结果 使用JTable作为搜索结果显示框 在网上找不到相关的资源 自已写了一个 这只是提供一个思路 ...蛋疼的 Java***OA管理系统

    java swing漂亮界面 超酷 javaswing教程

    Java Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,用于帮助开发者创建桌面应用程序。Swing提供了一系列组件,如按钮、文本框、菜单等,允许开发者构建功能...

    基于java swing实现答题系统

    基于Java Swing实现答题系统的技术要点 本文将详细介绍基于Java Swing实现答题系统的技术要点,涵盖了GUI设计、事件处理、swing组件使用、Java图形化编程等多个方面的知识点。 一、GUI设计 在本文中,我们使用了...

    基于java swing的学生信息管理系统.zip

    《基于Java Swing的学生信息管理系统详解》 Java Swing是Java Standard Edition (Java SE)的一部分,它提供了一套丰富的用户界面组件,用于构建桌面应用程序。在这个基于Java Swing的学生信息管理系统中,开发者...

    JAVA swing中文离线API文档

    Java Swing是Java标准库中的一个组件集合,用于构建桌面应用程序用户界面。它是Java Foundation Classes (JFC)的一部分,提供了一套轻量级的GUI(图形用户界面)组件,支持丰富的交互功能。本离线API文档详细阐述了...

    java实验报告———JavaSwing编程.pdf

    - Java Swing库中的高级组件:除了JButton, JLabel, JTextField外,Swing还提供其他高级组件,例如JTable用于显示和编辑二维数据、JTree用于显示层次数据等。报告中可能会对这些组件进行探讨。 以上内容为根据给定...

    java swing 多功能 聊天室

    Java Swing 是Java平台上用于构建图形用户界面(GUI)的一个库,它是Java Foundation Classes (JFC) 的一部分。在本项目“java swing 多功能 聊天室”中,开发者利用Swing构建了一个具备多种功能的聊天应用,包括...

    Java Swing 简单的员工管理系统

    首先,关于Java Swing,它提供了各种组件,如JFrame(窗口)、JButton(按钮)、JLabel(标签)、JTextField(文本框)和JTable(表格)等,这些组件可以组合起来创建复杂的用户交互界面。在员工管理系统中,可能...

    java swing漂亮软件界面 超酷 以及javaswing教程.rar.rar

    在Java Swing中,开发者可以使用各种组件来构建应用,如按钮(JButton)、文本框(JTextField)、面板(JPanel)、滚动窗格(JScrollPane)等。Swing 提供了轻量级的组件,它们运行在Java虚拟机上,不需要依赖于操作...

    java Swing 文件批量上传 DEMO 源代码

    Java Swing 是Java GUI开发的一个重要库,主要用于创建桌面应用程序。在这个"java Swing 文件批量上传 DEMO 源代码"中,我们关注的核心是利用Swing构建一个用户界面,实现文件和文件夹的批量上传功能。这涉及到多个...

    java swing管理系统源码 程序 代码 图形界面(11套).zip

    Java Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,用于构建桌面应用程序。本压缩包包含了11套完整的Java Swing管理系统源码,这些源码对于学习和理解Java GUI...

    java swing文本框(密码框)没有内容时,占位显示默认信息(仿IOS)

    在Java Swing中,`JTextField`和`JPasswordField`是两个常用的组件,分别用于输入文本和密码。在设计用户界面时,我们有时希望在这些文本框内没有输入内容时显示默认提示文字,就像iOS系统的文本框那样。这种效果...

    Java Swing组件布局管理器之FlowLayout(流式布局)入门教程

    Java Swing 组件布局管理器之 FlowLayout(流式布局)入门教程 Java Swing 组件布局管理器中有多种布局管理器,今天我们主要介绍 FlowLayout(流式布局),它是最简单、最基础的一个布局管理器。 FlowLayout 也称为...

    一个基于java Swing开发的ATM机例子

    Java Swing 是Java GUI(图形用户界面)开发的一个重要库,它是Java Foundation Classes (JFC) 的一部分,主要用于创建桌面应用程序。在这个"一个基于Java Swing开发的ATM机例子"中,我们可以深入理解如何使用Swing...

    JavaSwing图书管理系统SQL server数据库

    在JavaSwing中,我们通常会使用`JFrame`作为主窗口,`JPanel`作为容器来组织其他组件,如`JButton`、`JLabel`、`JTextField`等。通过监听事件,比如按钮点击,我们可以实现业务逻辑。例如,当用户点击“查询图书”...

    The Definitive Guide to Java Swing Third Edition

    ### 《Java Swing 终极指南》第三版关键知识点概览 #### 一、书籍基本信息与版权信息 - **书名**:《Java Swing 终极指南》第三版 - **作者**:John Zukowski - **出版社**:本书由Springer-Verlag New York, Inc....

    五子棋JavaSwing开发

    Java Swing提供了一系列的组件,如JButton、JLabel、JTextField等,这些组件可以用来构建用户友好的界面。在五子棋项目中,我们将使用JTable或者自定义的棋盘组件来模拟棋盘,并使用JButton来代表棋子,通过点击按钮...

Global site tag (gtag.js) - Google Analytics