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.
   }
}

おそらくリフレクションを使用して、呼び出し元のクラス インスタンスのインスタンスを取得する方法が必要です。KeyListener各インスタンスにa を関連付けることができるようにします。これは必須です。そうしないと、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 に答える