【问题标题】:Notifying user in case of wrong input in JFrame in java [closed]在java中的JFrame中输入错误时通知用户[关闭]
【发布时间】:2014-04-03 05:14:19
【问题描述】:

我正在创建要求用户输入他的信息的框架。当他没有提供所需的输入时,我想使用标签或其他东西通知用户。就像这里是所有字段为空时的屏幕截图:

当输入错误的输入并且我移动到下一个文本字段时,文本在文本字段下方以红色显示。这是截图:。我想做这个。有没有人告诉我该怎么做..???

【问题讨论】:

  • 这个问题有点笼统。您可能需要提供试用代码并解释您在代码的特定部分遇到的问题。
  • @peeskillet 是的,我的问题很广泛,但我只想在输入错误输入后显示文本,无论是在文本字段下方还是在文本字段旁边......有什么最好的方法来做到这一点......?跨度>

标签: java swing jframe jlabel jtextfield


【解决方案1】:

实现这一点的方法很少......

您需要做的第一件事是验证该字段...

你可以...

使用InputVerifier 允许在字段失去焦点时对其进行验证,如here 所示。

此方法还允许您确定焦点是应该继续到下一个字段还是留在当前字段。

你可以...

使用FocusListener 并在失去焦点时使该字段有效。这和上面的建议差不多,只要知道你必须自己做这项工作

你可以...

在文本字段上使用DocumentListener 来监控字段内容的更改并执行字段的实时验证。

接下来,您需要确定显示状态的最佳方式...

你可以使用:

  • LineBorder 更改字段的边界状态。不过要小心,有些外观和感觉不喜欢你这样做(看着你的 MacOS)。查看How to use borders了解更多详情
  • 工具提示 API
  • setVisible 切换JLabels 的可见性以显示错误消息,但老实说,我可能会尝试使用完整的 alpha 颜色来隐藏文本并使用完整的不透明颜色来显示,因为这不会影响布局
  • Ballon Tip
  • GridBagLayout 可能是我选择的布局管理器,但您也可以使用复合布局来简化操作

【讨论】:

  • 但是文本会如何显示..??????.....哪种布局最好..????
  • 布局管理器见仁见智
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-20
  • 1970-01-01
  • 2016-04-24
  • 1970-01-01
  • 2011-12-09
  • 1970-01-01
相关资源
最近更新 更多