今天遇到一个不大不小的问题,本来看似比较简单,结果处理起来,花了我好长时间。
这个版本有一个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"); } } });
相关推荐
JTextField是Java Swing库中的一个组件类,用于接收用户的文本输入。
Java Swing 是Java编程语言中用于构建桌面应用程序用户界面的一个库,它是Java Foundation Classes (JFC) 的一部分。Swing 提供了一系列组件,如按钮、文本框、菜单等,用于创建功能丰富的图形用户界面(GUI)。在...
实现信息检索功能 像百度的网页搜索框 搜索相关资源并可以选择并显示搜索结果 使用JTable作为搜索结果显示框 在网上找不到相关的资源 自已写了一个 这只是提供一个思路 ...蛋疼的 Java***OA管理系统
Java Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,用于帮助开发者创建桌面应用程序。Swing提供了一系列组件,如按钮、文本框、菜单等,允许开发者构建功能...
基于Java Swing实现答题系统的技术要点 本文将详细介绍基于Java Swing实现答题系统的技术要点,涵盖了GUI设计、事件处理、swing组件使用、Java图形化编程等多个方面的知识点。 一、GUI设计 在本文中,我们使用了...
《基于Java Swing的学生信息管理系统详解》 Java Swing是Java Standard Edition (Java SE)的一部分,它提供了一套丰富的用户界面组件,用于构建桌面应用程序。在这个基于Java Swing的学生信息管理系统中,开发者...
Java Swing是Java标准库中的一个组件集合,用于构建桌面应用程序用户界面。它是Java Foundation Classes (JFC)的一部分,提供了一套轻量级的GUI(图形用户界面)组件,支持丰富的交互功能。本离线API文档详细阐述了...
- Java Swing库中的高级组件:除了JButton, JLabel, JTextField外,Swing还提供其他高级组件,例如JTable用于显示和编辑二维数据、JTree用于显示层次数据等。报告中可能会对这些组件进行探讨。 以上内容为根据给定...
Java Swing 是Java平台上用于构建图形用户界面(GUI)的一个库,它是Java Foundation Classes (JFC) 的一部分。在本项目“java swing 多功能 聊天室”中,开发者利用Swing构建了一个具备多种功能的聊天应用,包括...
首先,关于Java Swing,它提供了各种组件,如JFrame(窗口)、JButton(按钮)、JLabel(标签)、JTextField(文本框)和JTable(表格)等,这些组件可以组合起来创建复杂的用户交互界面。在员工管理系统中,可能...
在Java Swing中,开发者可以使用各种组件来构建应用,如按钮(JButton)、文本框(JTextField)、面板(JPanel)、滚动窗格(JScrollPane)等。Swing 提供了轻量级的组件,它们运行在Java虚拟机上,不需要依赖于操作...
Java Swing 是Java GUI开发的一个重要库,主要用于创建桌面应用程序。在这个"java Swing 文件批量上传 DEMO 源代码"中,我们关注的核心是利用Swing构建一个用户界面,实现文件和文件夹的批量上传功能。这涉及到多个...
Java Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,用于构建桌面应用程序。本压缩包包含了11套完整的Java Swing管理系统源码,这些源码对于学习和理解Java GUI...
在Java Swing中,`JTextField`和`JPasswordField`是两个常用的组件,分别用于输入文本和密码。在设计用户界面时,我们有时希望在这些文本框内没有输入内容时显示默认提示文字,就像iOS系统的文本框那样。这种效果...
Java Swing 组件布局管理器之 FlowLayout(流式布局)入门教程 Java Swing 组件布局管理器中有多种布局管理器,今天我们主要介绍 FlowLayout(流式布局),它是最简单、最基础的一个布局管理器。 FlowLayout 也称为...
Java Swing 是Java GUI(图形用户界面)开发的一个重要库,它是Java Foundation Classes (JFC) 的一部分,主要用于创建桌面应用程序。在这个"一个基于Java Swing开发的ATM机例子"中,我们可以深入理解如何使用Swing...
在JavaSwing中,我们通常会使用`JFrame`作为主窗口,`JPanel`作为容器来组织其他组件,如`JButton`、`JLabel`、`JTextField`等。通过监听事件,比如按钮点击,我们可以实现业务逻辑。例如,当用户点击“查询图书”...
### 《Java Swing 终极指南》第三版关键知识点概览 #### 一、书籍基本信息与版权信息 - **书名**:《Java Swing 终极指南》第三版 - **作者**:John Zukowski - **出版社**:本书由Springer-Verlag New York, Inc....
Java Swing提供了一系列的组件,如JButton、JLabel、JTextField等,这些组件可以用来构建用户友好的界面。在五子棋项目中,我们将使用JTable或者自定义的棋盘组件来模拟棋盘,并使用JButton来代表棋子,通过点击按钮...