Java Paint JComponentsはどのように画面に表示されますか?JavaでJComponentsをペイントする方法は?
私はGraphics2Dメソッドへのすべての呼び出しを計測するAspectJを使用しています。たとえば、アプリケーションからGraphics2d.Draw(Shape)を呼び出すと、その呼び出しをキャプチャすることができます。
JavaはGraphicsクラスを使用してJComponentsをペイントしますか?JButtonsと言うことができますか?たとえば、アプリケーションにJButtonがあり、JButtonを画面にペイントするためのメソッドをグラフィックスクラスにキャプチャしたいのですか?私はこれをする方法を知らない。
アイデア?
更新: JButtonクラスとPaintComponentメソッドをオーバーライドしようとしました。これを行うと、そのJButtonを描画するために使用されたGraphicsメソッドへの呼び出しをキャプチャできます。
特定のJComponentクラスをオーバーライドせずにこれらの呼び出しをキャプチャする方法はありますか?
これらの呼び出しをキャプチャするには、call()またはexecution()のジョインポイントを使用していますか? AspectJコードを提出してください。 –
AspectJウィーバーは、グラフィックスの2D外部ライブラリにアクセスすることができません(外部ライブラリであるため)、ウィービングは実行されません。コードのメソッドをオーバーライドすると、AspectJはコードにアクセスして製織を実行できます。おそらくグラフィックス2Dのライブラリは、ajcコンパイラのあなたのインラインにはありません。 –