0

我正在使用 Swing 应用程序。

public class Owner extends JPanel{
  Child child=null;
  public Owner(){
   child=new Child();
  }
}

public  class Child extends JPanel{
   public Child(){
     // Here I want the instance of Owner class.
     // This child class is being created from many classes(almost 1000) like the Owner class.
   }
}

我想要一些方法来获取调用类实例的实例,也许使用反射。这样我就可以将 a 关联KeyListener到每个实例。这是必需的,否则我必须在所有 1000 个类中编写相同的代码。

我所有的类都在扩展,一旦组件关联到父组件JPanel,我就可以从属性中获取父级。Parent但是在这里我需要它在 的构造函数中Child,即组件尚未关联Owner

4

2 回答 2

1
public class Owner extends JPanel{
 Child child=null;
 public Owner(){
 child=new Child(this);
 }
}

public  class Child extends JPanel{
    Object owner ;
    public Child(Object owner ){
       this.owner = owner ;
      // Here I want the instance of Owner class.
      // This child class is being created from many classes(almost 1000) like the       Owner class.
    }
 }
于 2012-08-14T12:04:39.057 回答
0

类似的东西可以帮助你:

public class Owner extends JPanel {
    Child child;

    public Owner() {
        child = new Child(this);
    }
}

public class Child extends JPanel {
    Owner owner;

    public Child(Owner owner) {
        this.owner = owner;
        // add key listeners here to owner
        owner.addKeyListener(...)
    }
}
于 2012-08-14T12:05:10.667 回答