【问题标题】:Write only one number in text field [closed]在文本字段中只写一个数字[关闭]
【发布时间】:2014-05-15 20:25:20
【问题描述】:

如何让用户在文本字段中只写一个数字?其他应该消费。

我有写号码的代码。

private boolean number(char zn){
    if(zn>='0' && zn<='9')
        return true;

    return false; 
    }

【问题讨论】:

  • 为什么要使用文本字段?在这里使用 select 似乎更合适。
  • 您在说什么“文本字段”?您的问题在重要细节上乏善可陈,您应该考虑改进它。
  • 窗口应该有一个限制。它可能只需要一个字符,并且应该是一个数字。需要一个防止输入多个字符的条件。
  • 什么窗口?你说的是图形用户界面吗?摇摆?什么?请不要假设我们可以读心或看到未显示的代码。再次,请尝试改进您的问题。请告诉重要的细节。
  • 如果这是 Swing,您可以使用 JFormattedTextField、MaskFormatter 或类似的。

标签: java text numbers field


【解决方案1】:

您声明这是一个 Swing 问题,因此我假设您使用的是 JTextField。如果是这样,您有两种可能的解决方案之一:

  • 使用 JFormattedTextField 和 MaskFormatter,像 "#" 这样简单的东西在这里应该可以完美运行。
  • 或者获取 JTextField 的 Document 并将其 DocumentFilter 设置为将输入限制为您应得的。我认为这对您来说过于复杂,我推荐第一个选项。

查看有关如何使用 JFormattedTextFields 的教程,您可以在此处找到:JFormattedTextField Tutorial。它将解释以上所有内容,包括如何使用带有 JFormattedTextFields 的掩码格式化程序。


另外请查看 Jon Skeet 的博客 Writing the Perfect Question。在这个网站和其他网站上写问题是一项学习技能,可以通过学习和努力变得更好。该博客包含的提示将帮助您,以便您知道在您的问题中包含哪些信息,以便帮助您的志愿者不必猜测事情。他们会很感激,您可能会得到更好更快的答案。

【讨论】:

  • 我做到了,它的工作原理,但我仍然不明白它是如何工作的。为什么我应该使用 try catch? pastebin.com/Ac2Z9yqr
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-16
相关资源
最近更新 更多