dポイントプレゼントキャンペーン実施中!

インスタンス化したことをイベントで取得することはできますか?

例)
public class MyClass{
private MyDialog dialog = null;
public void action(){
dialog = new MyDialog();

//ダイアログの中身の処理・・・(1)

dialog.show();
}

public MyDialog getDialog(){
return dialog;
}
}

public class MyDialog extends JDialog{
(省略)
}

前提
クラスMyClassの中身は変更することができない。

やりたいことは、MyClass#action()が呼ばれるたびに
MyDialogにはってあるオブジェクトに命令を行いたい。


MyDialogのインスタンス作成イベントを取得できれば
上記を実現できると考えています。

以上です。

A 回答 (3件)

MyClassもMyDialogも書き換えられないのであれば無理です。


AOPで書き換えるのもダメなんだよね?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
インスタンス作成ごとにイベントを取得できるかどうか知りたかったのですが
無理そうですね。
AOPで実現できないか検討します。

お礼日時:2011/11/08 12:54

インジェクションとかアスペクトとかしないとむりだね。


現状のクラス変更しないでダイアログの処理を実行させるなんて。
    • good
    • 0
この回答へのお礼

インジェクションとかアスペクトという考え方を知らなかったので
学習してみます。
回答ありがとうございました。

お礼日時:2011/11/08 12:51

> やりたいことは、MyClass#action()が呼ばれるたびに


> MyDialogにはってあるオブジェクトに命令を行いたい。

これだけ読むと、MyDialog のコンストラクタにそのやりたい命令を書けばいいような。
前提条件が足りないのかも。

この回答への補足

koko_u_uさんのおっしゃるとおりですね。

以下、前提条件を追加します。
MyDialog クラスも変更ができない

補足日時:2011/11/07 23:38
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!