在Java中为JFormattedTextfield中的数字设置上限

时间:2010-03-03 20:45:17

标签: java swing jformattedtextfield

我想在格式化程序文本字段中设置数字的上限。假设有一个字符串具有以下格式:

036 12'23.67“

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

1 个答案:

答案 0 :(得分:1)

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

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

另一种方法是将DocumentFilter添加到AbstractDocument。然后,您可以在将文本添加到文档之前对其进行编辑。有关详细信息,请阅读Text Component Features上的Swing教程中的部分。