清除 JFormattedTextField 的内容不起作用?

2023-12-01

  1. 我有一个JFormattedTextField它只接受 8 位数字,但是当我尝试使用退格按钮清除文本字段时,它不会删除数字的第一个字符(与删除按钮的行为也相同),我每次都必须预先使用 Esc 键来删除该字符。

    NumberFormat intFormat = NumberFormat.getIntegerInstance();
    intFormat.setGroupingUsed(false);
    NumberFormatter numberFormatter = new NumberFormatter(intFormat);
    numberFormatter.setValueClass(Integer.class); 
    numberFormatter.setAllowsInvalid(false);
    numberFormatter.setMinimum(0);
    numberFormatter.setMaximum(99999999);
    
    releaseNoTextField = new JFormattedTextField(numberFormatter);
    

这里有什么问题?

  1. 还可以清除此文本字段releaseNoTextField.setText("")不起作用,还有其他方法可以做到这一点吗?

我有一个仅接受 8 位数字的 JFormattedTextField,但是当我尝试使用退格按钮清除文本字段时,它不会删除数字的第一个字符(与删除按钮的行为也相同),我必须预先使用 Esc 键来删除每个字符时间。

这是应用的限制numberFormatter.setAllowsInvalid(false);看到一个空白String ("") 不是有效的数值。如果你使用numberFormatter.setAllowsInvalid(true);您可以删除所有字符,但也可以输入您喜欢的任何值。

不过,该字段将在用户离开该字段后进行验证。

如果您不关心已格式化的值(12, 345, 678),那么你可以使用DocumentFilter应用于平原JTextField在其中实现您需要的逻辑。看实现文档过滤器 and 文档过滤器示例更多细节。

另外,使用 releaseNoTextField.setText("") 清除此文本字段不起作用,还有其他方法可以做到这一点吗?

你应该(总是)使用setValue for JFormattedTextField你应该是真的setValue(null)清理场地

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

清除 JFormattedTextField 的内容不起作用? 的相关文章

随机推荐

  • vbscript MsgBox() 的 Javascript 等效函数

    我需要将以下函数转换为javascript MsgBox Are you a programmer 0 Please answer 我想我可以用confirm Are you a programmer 但我想知道如何在那里添加按钮顺序 Ja
  • WHM64 升级后无法访问 eximstats sqlite3 db

    WHM 64 升级后 无法访问 eximstat 数据库 MySQL代码更改为PDO来访问sqlite3 db 如下 db new PDO sqlite var cpanel eximstats db sqlite3 DB USER DB
  • 将列添加到文本文件

    我有一个只有一列的数据文件 我想在左侧添加 2 列 在右侧添加 2 列 我认为一个简单的方法是使用 numpy 数组 这是我尝试过的 z np loadtxt data file dat new np zeros z shape 0 5 f
  • 数组元素的减号运算

    我有一个数组 A 11 23 32 44 56 88 55 14 78 79 和 B 44 56 88 55 14 现在使用 VBScript 我可以执行 Set手术MINUS要获得其他输出 例如 C 11 23 32 78 79 数组 A
  • NSDecimalNumber(x).intValue 返回 -2、0、15 和 199,具体取决于 x 中的小数位数 (x = 199.999...5)

    我们在业务逻辑中发现了一个有趣的案例 它完全打破了我们的逻辑 但我们不明白为什么NSDecimalNumber and Decimal表现得像它那样 我的案例游乐场如下 import Foundation let pQuantity Dec
  • 无法启动 kibana-4.1.2

    我的环境 CentOS 6 6 elasticsearch 2 0 0 rc1 rpm kibana 4 1 2 linux x64 root node2 files sestatus SELinux status enabled SELi
  • 如何在android中显示外部图像?

    我想显示外部图像 例如 http abc com image jpg 在我的 Android 手机应用程序中 谁能指导我如何实现这一目标 有很多方法可以实现您的要求 基本上 您必须使用 urlrequest 下载图像 然后使用 InputS
  • Pathways:操作 R 中父子“节点”中的事件列表

    我感兴趣的是根据预先指定的事件列表 例如诊断 手术 治疗1 治疗2 死亡 可视化患者的路径 测试数据集可能如下所示 df lt structure list ID structure c 1L 1L 1L 2L 2L 2L 2L 2L 3L
  • Node.js 模块范式的基础知识?

    我正在努力真正掌握这里的一些基本知识 我觉得这不仅阻碍了我 而且导致了蹩脚的代码 我不喜欢这样 我理解将功能代码块分解为单独模块的概念 例如路由 数据库模型等 但我很难理解如何正确编排所有这些单独模块的相互依赖的功能 让我举几个例子来说明我
  • mysqli_real_escape_string 和双引号问题

    我有这个代码 var mysqli real escape string connection POST var sql UPDATE users SET var var WHERE id id 如果变量是aaa 没关系 即使 var 是a
  • sql-server:我如何知道谁在我的数据库中?

    我有一个访问前端和sql server 后端 我想知道哪些用户当前正在使用该数据库 使用 access 或 sql server 可以做到这一点吗 在 SQL Server 中 您可以运行此存储过程 sp who2 EDIT 如果您想查看在
  • 在 Maven 中调试?

    是否可以从 Maven 启动 jdb 等调试器 我有一个pom xml成功编译项目的文件 但是 该程序挂在某处 我真的很想启动 jdb 或等效的调试器来查看发生了什么 我编译使用mvn compile并使用以下命令启动 mvn exec j
  • 如何使用 sqldf 包提取月份

    我尝试使用 sqldf 包和月份函数获取基于日期分组的视图 但出现错误 Error in sqliteSendQuery con statement bind data error in statement no such function
  • 按依赖于另一列的列进行分组

    这是我试图通过 MySQL 查询彻底解决的问题的简化视图 这不是我正在处理的实际表 如果我有下表 Name Buyer ID John Fred 4 John Smith 3 Fred Sally 2 John Kelly 1 我想要一个查
  • NTFS 连接,难以理解 API

    Update 这个问题有evolved进入一个关于NTFS filesystem filter driver如何在备份应用程序和其他需要了解的程序中使用Win32 API磁盘上的文件到底是什么 路口和重解析点是我需要考虑的关键概念 也是 N
  • MySQL 可以拆分列吗?

    我有一列包含逗号分隔的数据 1 2 3 3 2 1 4 5 6 5 5 5 我正在尝试运行一个搜索来单独查询 CSV 字符串的每个值 0
  • 基数排序算法

    我得到了一些逆向工程算法 下面的算法是基数排序 但我对代码中实际发生的情况感到非常困惑 我是算法新手 不确定代码如何对数组中的元素进行排序 我不确定哪些位与算法有关以及掩码是什么 这是代码 ArrayList
  • 是否可以使用常规 JVM 创建一个不会被任何其他线程抢占的高优先级线程?

    所以我的目标很简单 我想在 Java 中创建一个高优先级线程 而不使用 RTSJ 实时 Java VM 或其他一些专有 JVM 假设您从未创建任何垃圾 因此 GC 不会成为罪魁祸首 假设我有 4 个处理器 可行吗 如果没有 是否可以计算我的
  • 使用 Python(套接字)创建一个简单的聊天应用程序

    我正在尝试使用套接字 python 创建一个简单的聊天应用程序 客户端可以向服务器发送消息 服务器只需将消息广播给除发送消息的客户端之外的所有其他客户端 客户端有两个线程 永远运行 send 发送只是将客户端的消息发送到服务器 receiv
  • 清除 JFormattedTextField 的内容不起作用?

    我有一个JFormattedTextField它只接受 8 位数字 但是当我尝试使用退格按钮清除文本字段时 它不会删除数字的第一个字符 与删除按钮的行为也相同 我每次都必须预先使用 Esc 键来删除该字符 NumberFormat intF