Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用setterjava验证jTextField的输入_Java_Swing_Jtextfield - Fatal编程技术网

使用setterjava验证jTextField的输入

使用setterjava验证jTextField的输入,java,swing,jtextfield,Java,Swing,Jtextfield,我在Java作业中实现OOP。但是当我开始创建用户界面并接受输入时,我遇到了一个问题。我想使用setter方法从用户界面验证jTextField的用户输入。我希望在用户输入无效时出现一个弹出窗口,而不仅仅是错误消息。我知道,如果我直接在用户界面中实现验证代码,就可以很容易地完成。我不知道哪种方法更好,但因为我已经有了所有的setter方法,所以我想使用setter方法进行验证 雇员阶级 用户界面 验证必须分几层进行,以确保应用程序的准确性。但根据您的情况,这里您尝试验证用户输入。因此,这是属于视

我在Java作业中实现OOP。但是当我开始创建用户界面并接受输入时,我遇到了一个问题。我想使用setter方法从用户界面验证jTextField的用户输入。我希望在用户输入无效时出现一个弹出窗口,而不仅仅是错误消息。我知道,如果我直接在用户界面中实现验证代码,就可以很容易地完成。我不知道哪种方法更好,但因为我已经有了所有的setter方法,所以我想使用setter方法进行验证

雇员阶级 用户界面
验证必须分几层进行,以确保应用程序的准确性。但根据您的情况,这里您尝试验证用户输入。因此,这是属于视图层的验证,就像您在web开发中验证表单一样。因此,由于您使用Java Swing,您需要放置视图验证控制器内部的逻辑。因此,最好的实现方法如下

String username = jTextField6.getText();

if(userName.isEmpty()){
    //Place your error message logic here
}else{
     ad.setUsername(username);
}


我假设
jTextField6
是一个
JTextField
,在这种情况下,方法
getText()
永远不会返回null,但它可能返回空字符串。不是选项?@Abra但是如果没有任何消息,用户如何知道什么是有效输入。据我所见,如果输入无效,但未显示正确输入格式的消息,则输入验证程序不允许用户继续。可能会有所帮助。我打算使用setter方法验证输入。不直接在用户界面代码中验证它。还有吗?哦,我明白了。因为一些网站提到我可以使用setter验证数据,所以我想尝试一下。我想它只能在扫描仪上工作。谢谢
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    Admin ad = new Admin();
    String username = jTextField6.getText();
    ad.setUsername(username);
}
  
String username = jTextField6.getText();

if(userName.isEmpty()){
    //Place your error message logic here
}else{
     ad.setUsername(username);
}