微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在java JFrame中验证表单是否为空

如何解决如何在java JFrame中验证表单是否为空

我正在 GUI 中做作业。我的任务是在 2D 中创建文本游戏。
我想开始该用户将在我的游戏中创建他的“帐户”。
但是有一个问题,如果用户按下按钮即使是空的,程序也会给用户访问权限。
我使用过 WindowsBuiled,所以我所做的只是创建 ActionListener
Hrac(Player) 类很简单,有 3 个变量(游戏中的名字、姓氏和昵称)。
我尝试了很多选项,例如 hrac == null 或例如:

String name,surname,nickname;
           
name = textField.getText();
                .... //(With other variables I did the same)
                ....
public void actionPerformed(ActionEvent e) {
    if (textField != null || textField_1 != null || textField_2 != null) {
        Hrac hrac = new Hrac(textField.getText(),textField_1.getText(),textField_2.getText());
        JOptionPane.showMessageDialog(null,"Everything is okay");
    } else {
        JOptionPane.showMessageDialog(null,"You have to fill everything");
    }
}

我已经在 setName,setSurname ... 中的 class(if(name.length

解决方法

textfield != null 检查您的文本字段是否存在。我想你是在别处创建的。因此,textField != null || textField_1 != null || textField_2 != null 永远不会为假。

您应该检查文本字段是否为空。这可以通过 textField.getText().trim().isEmpty() 完成。


getText() 为您提供文本字段的内容

trim() 删除前导和尾随空格

isEmpty() 如果字符串为空则返回真

,
@Override
        public void actionPerformed(ActionEvent e) {
            // TODO Auto-generated method stub
            
                  if(textField.getText().trim().length() >  3 ||  textField_1.getText().trim().length() > 3 && textField_2.getText().trim().length() != 0 ) {           
                      Hrac hrac = new Hrac(textField.getText(),textField_1.getText(),textField_2.getText(),0);  
                        JOptionPane.showMessageDialog(null,"Vše je v pořádku \n" + "Vítej" + " " + textField_2.getText());
                        btnNewButton.setEnabled(false);
                        
                } else {               
                     JOptionPane.showMessageDialog(null,"Jméno a příjmení musí obsahovat minimálně 3 znaky!");
                }
              
            }
        
    });

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。