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

标签 java swing jframe jlabel jtextfield

我正在创建一个框架,要求用户输入他的信息。当用户没有提供所需的输入时,我想使用标签或其他方式通知用户。就像下面是所有字段为空时的屏幕截图:Empty fields

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

最佳答案

有几种方法可以实现这一目标......

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

你可以...

使用 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/

相关文章:

java - RandomAccessFile 与 NIO channel

java - 使用模运算符测试整数的奇数

java - Java Swing 上的 Facebook 共享按钮

java - 按下保存按钮时保存 Jtable 数据

java - NotSerializedException GroupLayout 通过 RMI 发送 Frame

java - 如何为 JTable 列添加 JXDatepicker

java - SpringBoot 在 Eclipse Luna 中通过 Spring Tool Suite 构建不工作的项目

java - 如何使JFrame成为模式化的?

java - Jbutton 与 Jpanel 和 JFrame 之间的区别?

Java收据程序不显示结果