java - 在 Java 的 JFormattedTextfield 中设置数字的上限

标签 java swing jformattedtextfield

我想为格式化程序文本字段中的数字设置上限。假设有一个字符串,其格式如下:

036 12' 23.67"

第一个数字必须小于 180,因此当用户尝试键入大于 180 的数字时,必须对其进行屏蔽。 我使用 MaskFormatter 如上所述格式化字符串,但我无法为第一个数字设置上限。我怎样才能做到这一点。谢谢。

最佳答案

我不知道如何直接使用 JFormattedTextField 执行此操作。

一种解决方案是使用 InputVerifier,这样当用户离开时,他们会收到一条错误消息,焦点会返回到文本字段。

另一种方法是向 AbstractDocument 添加一个 DocumentFilter。然后您可以在将文本添加到文档之前对其进行编辑。阅读 Text Component Features 上的 Swing 教程部分获取更多信息。

关于java - 在 Java 的 JFormattedTextfield 中设置数字的上限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2374807/

相关文章:

java - 与以下 java 代码中使用类名调用方法感到非常困惑

java - JOptionPane 出现在选定的 JCheckBox 上

java - 绝对定位(无布局管理器)与 MiGlayout 中的绝对定位

java - JSpinner 获取空值

java - Swing:仅使用 Netbeans 将 JFormattedTextField 设置为数字

java - HashMap 作为唯一值存储/实例计数器。 java

c# - 令人困惑的 If 语句?

java - 如何使用 MapReduce 生成数据?

java - TextField 中的负数错误

java - JFormattedTextField: 格式化文本到没有空格的数字