我正在创建一个框架,要求用户输入他的信息。当用户没有提供所需的输入时,我想使用标签或其他方式通知用户。就像下面是所有字段为空时的屏幕截图:
当输入错误的输入并且我移动到下一个文本字段时,文本在文本字段下方显示为红色。这是屏幕截图: 。我想做这个。有谁告诉我该怎么做..???
最佳答案
有几种方法可以实现这一目标......
您需要做的第一件事是验证字段...
你可以...
使用 InputVerifier
它允许在失去焦点时验证字段,如所示 here .
此方法还允许您确定焦点是应继续到下一个字段还是保留在当前字段。
你可以...
使用 FocusListener
并在焦点丢失时使字段有效。这与上面的建议几乎相同,只是知道你必须自己完成这项工作
你可以...
使用 DocumentListener
在文本字段上监视字段内容的更改并对字段执行实时验证。
接下来,您需要确定显示状态的最佳方式...
您可以使用:
- 一个
LineBorder
更改字段的边界状态。但要小心,有些人不喜欢你这样做(看看你的 MacOS)。看看How to use borders了解更多详情 - 工具提示 API
-
setVisible
切换JLabel
的可见性s 显示错误消息,但说实话,我可能会想使用完整的 alpha 颜色来隐藏文本并使用完整的不透明颜色来显示,因为这不会影响布局 - Ballon Tip
-
GridBagLayout
可能是我选择的布局管理器,但您也可以使用复合布局来使事情变得更轻松
关于java - java中JFrame输入错误时通知用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22828390/