除非输入有效输入,否则阻止用户移动到下一个文本字段

时间:2016-01-11 17:25:57

标签: java swing validation jtextfield

我正在开发Java Swing应用程序。

应用程序以表单结束,以获取客户信息(姓名,姓氏,电子邮件,性别等)

我正在尝试以一种方式验证文本字段,当应用程序启动时,焦点将放在第一个文本框(名字)上。我希望用户在输入有效名称(没有数字,标点符号等)之前无法离开该框。

到目前为止,我正在使用JOptionPane.showMessageDialog(null, "")向用户输出消息,而文本字段则被丢失的焦点监听器操纵。

不幸的是,即使在线查看后,我也无法找到验证这些盒子的解决方案。

行动计划:

专注于第一个文本字段>>>除非输入有效输入,否则无法离开>>输出给用户的消息>>验证完成>>焦点设置在下一个字段>>等等。

帮助将不胜感激。

1 个答案:

答案 0 :(得分:-1)

尝试使用以下代码中的某些内容作为侦听器

class CustomFocusListener implements FocusListener
{
    @Override
    public void focusGained(FocusEvent e)
    {

    }

    @Override
    public void focusLost(FocusEvent e)
    {
        validateText();
        if(validateFailed) {
            myJTextField.grabFocus();
        }
    }
}

至于发布时,请尝试

myFirstJTextField.grabFocus();

查看JComponent.grabFocus()了解更多信息。