java - 使用 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);
}
解决方案
验证必须分几层进行以确保您的应用程序的准确性。但是根据您的情况,您正在尝试验证用户输入。所以它是属于视图层的验证,就像您在 Web 开发中验证表单一样。所以既然您是使用 Java Swing,您需要将视图验证逻辑放在控制器中。因此,实现它的最佳方法如下所示。
String username = jTextField6.getText();
if(userName.isEmpty()){
//Place your error message logic here
}else{
ad.setUsername(username);
}
推荐阅读
- sql - 计算行之间的差异并保持第一行始终为 0?
- macos-catalina - 在 macOS 中创建任务总是返回 kern 错误
- react-native - Android 模拟器无法正常工作。屏幕有时会模糊。为什么?
- c# - 加载后如何将符号添加到程序集
- android - 我不能使用主按钮上的一个按钮同时使用不同的片段吗?
- ios - 如何使用 Swift/MacOS 或 iOS 和 Core Image 将 Core Image 过滤器应用于屏幕图像
- javascript - 如何使用异步调用修改一个数组项
- javascript - 如何在反应js中增加.map()内的变量
- python - 文件...不在与主机共享的文件夹中,主机无法打开
- javascript - 在javascript中计算对象值