如何在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!");
                }
              
            }
        
    });