java - 如何从验证类访问 JFrame 输入字段对象
问题描述
我创建了一个带有注册字段(名字、姓氏、电子邮件等)的 GUI,我的 GUI 类是 -
public class Registration extends JFrame {
public static void main(String[] args) {
try {
Registration regform = new Registration ();
} catch (Throwable e) {
//
}
public Registration () {
firstName = new JTextField();
latName = new JTextField();
btnRegistration = newJButton("Register");
btnSubmit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//want to do something similar as below
//Validatefields Vf = new Validatefields(Registration Rg);
}
});
}
}
现在我想创建一个单独的类来验证单击“注册”按钮时的所有字段。我是 Java 编码的新手,我无法从验证类访问注册类的所有输入字段对象。
请注意 Class Registration 和 Validatefields 在同一个包下。
public Class Validatefields{
public static void Validattion(Registration Rg){
//here I want access the text field as below
//String Name = "Object of Registration Class".firstName.getText();
int validateFlag = 0;
if(Name.equal("")){
validateFlag = 1;
}
if(validateFlag==0){
ApiCall APC = new ApiCall();
APC.RequestAccessToken();
}
}
}
在接下来的步骤中,我想使用另一个类在成功验证时调用 API - 所以在这种方法中,我需要获取所有输入字段的值。
public Class ApiCall {
public static void RequestAccessToken(){
//Similarly I want to get the individual field value here and pass it in the API
}
}
我试图从互联网的不同来源阅读类似的例子,但无法弄清楚。任何帮助都会非常棒。
解决方案
现在我想创建一个单独的类来验证单击“注册”按钮时的所有字段。
这是一个非常好的主意,你有一般的方法。我认为主要问题是您没有正确的语法。但在我们开始之前,我的建议是您将字段传递给构造函数而不是整个Registration
对象:
public static void Validattion(JTextField firstName, JTextField lastName){
现在通过将字段传递给构造函数来创建一个实例:
Validatefields Vf = new Validatefields(firstName, lastName);
请注意,您在这里只使用变量名,而不是类型。这很可能是您在尝试中遇到并导致错误的主要问题。
推荐阅读
- python - python请求json参数未转换为URL参数
- sql - bigquery 立即执行以调用过程
- iframe - 如何在 krakend 中禁用标头
- flutter - 我无法从 Flutter 向本机(Kotlin)发送价值
- powershell - 如何隐藏 Powershell 品牌和文件路径
- mysql - 如何使用带有用户名和密码凭据的 JDBC 链接通过 IDE 终端连接到远程 MySQL 数据库
- python - 单击按钮时没有任何反应
- android - 确定应用在 Wear OS 上的启动方式
- html - 饼图视图在 div 元素中不可见
- php - 如何使用 flysystem 和 utf-8 将字符串上传到 ftp