简体   繁体   English

使用 setter java 验证 jTextField 的输入

[英]Validate input of jTextField using setter java

I implement OOP in my Java assignment.我在 Java 作业中实现了 OOP。 But when I started creating user interface and accept the input I have faced a problem.但是当我开始创建用户界面并接受输入时,我遇到了一个问题。 I wanted to validate the user input of jTextField from user interface using my setter method.我想使用我的 setter 方法从用户界面验证 jTextField 的用户输入。 I want a pop up to appear when user input is invalid instead of just error message.我希望在用户输入无效时出现一个弹出窗口,而不仅仅是错误消息。 I know it can be done easily if I implement the validation code directly in the user interface.我知道如果我直接在用户界面中实现验证代码,它可以很容易地完成。 I don't know which way is better but since I already have all my setter method so I wanted to validate using setter method.我不知道哪种方法更好,但因为我已经拥有了所有的 setter 方法,所以我想使用 setter 方法进行验证。

Employee Class员工班

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

User Interface用户界面

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

Validation must be done in several layers to ensure your application accuracy .But here according to your situation you are trying to validate an user input.So it's a validation which belongs to view layer like you are validating forms in web development.So since you are using Java Swing you need to place your view validation logic inside the controller.Because of that the best way to implement it is like below.验证必须在多个层中完成以确保您的应用程序准确性。但是根据您的情况,您正在尝试验证用户输入。因此,这是一个属于视图层的验证,就像您在 Web 开发中验证表单一样。使用 Java Swing,您需要将视图验证逻辑放在控制器中。因此,实现它的最佳方法如下所示。

String username = jTextField6.getText();

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM