在java中的JFrame中输入错误时通知用户

时间:2014-04-03 05:14:19

标签: java swing jframe jlabel jtextfield

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

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

1 个答案:

答案 0 :(得分:2)

实现这一目标的方法很少......

您需要做的第一件事就是确认......

你可以......

使用InputVerifier,可以在失去焦点时验证字段here

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

你可以......

使用FocusListener并在焦点丢失时验证该字段。这与上述建议完全相同,只是知道你必须自己做这项工作

你可以......

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

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

您可以使用:

  • 使用LineBorder更改字段的边框状态。但要小心,有些外观和感觉不会像你这样做(看着你的MacOS)。有关详细信息,请查看How to use borders
  • 工具提示API
  • setVisible切换JLabel s的可见性以显示错误消息,但说实话,我可能会想要使用完整的Alpha颜色来隐藏文本,并使用完全不透明的颜色来显示因为这不会影响布局
  • Ballon Tip
  • GridBagLayout可能是我选择的布局管理器,但你也可以使用复合布局来制作eaiser