首页 > 解决方案 > 使用 setter java 验证 jTextField 的输入

问题描述

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

员工类

public void setUsername(String username){
    if(username.equals(null)){
        //validation method
    }

用户界面

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    Admin ad = new Admin();
    String username = jTextField6.getText();
    ad.setUsername(username);
}
  

标签: javaswingjtextfield

解决方案


验证必须分几层进行以确保您的应用程序的准确性。但是根据您的情况,您正在尝试验证用户输入。所以它是属于视图层的验证,就像您在 Web 开发中验证表单一样。所以既然您是使用 Java Swing,您需要将视图验证逻辑放在控制器中。因此,实现它的最佳方法如下所示。

String username = jTextField6.getText();

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


推荐阅读