如何有效地引用其他类中的对象

时间:2013-03-29 03:31:51

标签: java swing

我有主类,GUI类和CheckingAccount类。 我应该用一个带有radioButtons的Jframe来处理一个CheckingAccount对象,并且不应该在main中有逻辑! 所以我想我可以在main中创建一个CheckingAccount对象并获得它的某种引用,可能通过一个方法或构造函数参数,并在GUI类中使用它(与动作监听器一起使用,以及类似的东西。) 问题是,例如在GUI类中,在actionPerformed方法中我不能像 user.setBlahBlah ... // user是main中的CheckingAccount对象。 能帮帮我吧。

1 个答案:

答案 0 :(得分:2)

为您的GUI类提供一个CheckingAccount变量,该变量在setCheckingAccount(CheckingAccount checkingAccount)方法中或通过构造函数参数提供引用。然后你可以引用GUI内部的对象(或者更好的是Control类,如果你有的话)。

public class MyGui {
  private CheckingAccount checkingAccount;
  private JButton myButton = new new JButton("My Button");

  public MyGui() {
    myButton.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent evt) {
        if (checkingAccount == null) {
          return;
        }
        checkingAccount.someMethod();
      }
    });
  }

  public void setCheckingAccount(CheckingAccount checkingAccount) {
    this.checkingAccount = checkingAccount;
  }

}

包含类的主要方法:

public Main {
  public static void main(String[] args) {
    CheckingAccount checkingAccount = new CheckingAccount();
    MyGui myGui = new MyGui();
    myGui.setCheckingAccount(checkingAccount);
    myGui.displaySomehow();
  }
}