2

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

036 12' 23.67"

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

4

1 回答 1

1

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

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

另一种方法是将 DocumentFilter 添加到 AbstractDocument。然后,您可以在将文本添加到文档之前对其进行编辑。阅读 Swing 教程中有关文本组件功能的部分以获取更多信息。

于 2010-03-03T20:59:01.943 回答