问题描述
我正在 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!");
}
}
});