0

我是 OOD 的新手,正在从事学术项目。我在编程时遇到问题。

场景是我有一个主类,我在其中创建了一个“登录”类的对象并调用它的函数。

现在在那个“登录”类函数中,我创建了一个 jFrame 类的对象来显示登录视图,用户在其中输入登录信息并按下登录按钮。

现在我希望当用户按下登录按钮时,我应该将该信息传递给我的“登录”类中的身份验证函数。

问题是我如何调用该函数(它是一个非静态函数),并根据无效信息调用 jFrame 类的函数以显示错误消息。

我想在我的项目中调用这个函数。

4

2 回答 2

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 并调用该功能。

于 2012-12-08T18:40:41.053 回答
0

这是How-to-create-a-login-form-in-javax.swing 的一个很好的工作示例

Java 初学者 Swing的 Swing 教程链接

于 2012-12-08T18:44:09.657 回答