在警告对话框后返回JTextField进行编辑

时间:2010-08-04 19:34:17

标签: java focus jtextfield

在我的应用程序中,我有一个JTextField,它只允许用户用以某种方式格式化的输入填充它。我有一个方法来检查字段中的输入是否有效,如果没有则显示对话框。发生这种情况后,我希望焦点返回到文本字段,以便用户可以纠正错误并输入格式正确的输入。我尝试通过让JTextField调用requestFocus()来实现这一点,但这似乎只有一半工作。 JTextField显示闪烁的光标,但在我再次单击文本字段之前,我实际上无法输入任何文本。还有其他方法我需要打电话吗?我在文档中找不到任何其他内容。

1 个答案:

答案 0 :(得分:1)

这不是您要求的解决方案,但您可能需要查看javax.swing.InputVerifier。此对象允许您验证字段的输入,并防止在格式不正确时将焦点从中移开。我不认为它会允许你提出一个解释错误的对话框(虽然它可能会尝试),但它肯定会允许你在“消息区域”中放置一条消息。

你要做的是在JComponent上设置一个InputVerifier,让它测试内容的有效性;如果它不对,那么JComponent将不会释放焦点(并且可以编写错误消息)。