アプリケーション内のすべての JButton の動作を変更する必要があります (これは研究プロジェクトです)。262 個のインスタンスすべてを新しいタイプに変更する必要がないため、アスペクトを使用してすべてのボタンを変更するのが最善の方法であると考えました。問題が発生しました。作成したアスペクトは、プロジェクト内の他のすべてのボタンのように JOptionPane 内のボタンを変更しません。これが私が持っているアドバイスです:
after() returning(JButton button): call(*.new(..)) || call(* newInstance(..)) {
init(button);
}
これは、JButton の他のすべてのコンストラクターと一致しますが、JOptionPane で使用されるコンストラクターが欠落しているようです。彼らの作品にアクセスするにはどうすればよいですか? 私はまだ AOP に慣れていないので、これを行うことさえできないかもしれません。