我是OOD的新成员并从事学术项目。 编程时我遇到了问题。
场景是我有一个主类,我在其中创建了一个“login”类的对象并调用它的函数。
现在在“login”类函数中,我创建了一个jFrame类的对象来显示登录视图,用户输入登录信息并按下登录按钮。
现在我希望当用户按下登录按钮时,我应该将该信息传递给我的“登录”类中的身份验证功能。
问题是如何调用该函数(它是一个非静态函数),并在无效信息时调用jFrame类的函数来显示错误消息。
我想在我的项目中完成这个函数调用。
答案 0 :(得分:2)
也许您需要重新设计一下程序。登录类不应该创建JFrame。让登录类专注于验证用户及其相关功能。所以像这样:
public class Login{
public boolean authenticate(String uname, String pword){
return .......
}
}
每当您需要使用Login功能时,您可以实例化它并调用该函数。您可以创建一个JFrame,用于提示用户输入用户名和密码,以及按钮的操作:
loginBtn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Login login = new Login();
if(login.authenticate(txtUname.getText(), txtPWord.getText())){
//display success on JFrame
}else{
//display failure on JFrame
}
}
});
其中txtUname和txtPWord可能是JFrame上的2个JTextField,而lginBtn可能是JFrame上的按钮。
如果你需要在其他地方执行相同的功能,那么你再次实例化Login并调用该函数。
答案 1 :(得分:0)
这是一个很好的& How-to-create-a-login-form-in-javax.swing
的工作示例 的swing教程链接