【问题标题】:Limiting and formatting a JTextfield Java [duplicate]限制和格式化 JTextfield Java [重复]
【发布时间】:2011-11-21 18:08:50
【问题描述】:

可能重复:
Limiting and formatting a JTextfield

我有一个 JTextfield,用户可以在其中输入“社会安全号码”。 SSN 有 9 位数字和 2 个破折号,共 11 个字符。

如何将 JTextField 限制为 11 个字符,并且在 11 个字符的第 4 和第 7 个位置的文本字段中还有 2 个破折号?

一个想法,我正在使用一个 IF 语句,说明 soc(这将是 Jtextfield 的输入)必须大于或等于 000000001 并且小于或等于 999999999,然后一旦确定。我可以将子字符串用于位置 0-2 将其分配给变量,而不是将其与“-”连接,然后为位置 3-4 创建另一个子字符串并将其与先前的变量连接并添加最后一个“-”,然后完成输入。

这可能吗?这合乎逻辑吗?

【问题讨论】:

  • 向您的last question 提供的答案是完全可以接受的(并且是正确的)。有什么问题?投票以完全重复的方式结束此问题。

标签: java swing formatting jtextfield


【解决方案1】:

JFormattedTextField 可能看起来很有帮助,但相信我,它不是。尝试和正确配置过于复杂和神秘。

相反,请考虑扩展 Document。通过覆盖 insertStringreplacedelete,您可以控制在何处输入哪些字符。

【讨论】:

  • "JFormattedTextField 可能看起来很有帮助,但相信我,它不是。尝试和正确配置它过于复杂和神秘。"..你不能认真..
  • 完全。 JFormattedTextField,特别是掩码格式化程序,(根据我的经验)很难以可接受的方式进行配置。也许只有我一个人,但Documents 和DocumentFilters 是实现同一目标的更容易的途径。
  • 我遇到的一个更具体的问题是能够从 JFormattedTextField 中删除所有文本。在这种情况下,我永远无法让它正常运行。
  • @Ben:您的立场并非完全没有根据,但citation 或两个可能会提供信息。
  • @trashgod 感谢您的帮助!从现在开始,我一定会包括来源。 :)
猜你喜欢
  • 1970-01-01
  • 2019-04-01
  • 2021-06-30
  • 1970-01-01
  • 2020-08-24
  • 1970-01-01
  • 2017-06-25
相关资源
最近更新 更多