面向Java的面向对象的函数调用

时间:2012-12-08 18:23:22

标签: java oop class function-calls message-passing

我是OOD的新成员并从事学术项目。 编程时我遇到了问题。

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

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

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

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

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

2 个答案:

答案 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

的工作示例

Java Beginner Swing

的swing教程链接