我想知道Java如何在屏幕上繪製JComponents?Java如何繪製JComponents?
我正在使用AspectJ來調用所有對Graphics2D方法的調用。例如,無論何時從應用程序調用Graphics2d.Draw(Shape),我都能捕獲該調用。
Java是否使用Graphics類來繪製JComponents,讓我們說JButtons?例如,我的應用程序上有一個JButton,我想捕獲用於在屏幕上繪製JButton的圖形類的方法?我不知道該怎麼做。
任何想法?
更新: 我試着重寫JButton類和PaintComponent方法。如果我這樣做比我可以捕獲到用於繪製JButton的Graphics方法的調用。
如何在不覆蓋特定JComponent類的情況下捕獲這些調用?
您是使用call()還是execution()連接點來捕獲這些調用?請提交您的AspectJ代碼。 – 2011-12-28 15:37:34
我猜AspectJ weaver無法訪問圖形2D外部庫(因爲它是一個外部庫),所以不會執行編織。當您在代碼上覆蓋方法時,AspectJ可以訪問代碼並執行編織。圖形2D的庫可能不在ajc編譯器的內部路徑中。 – 2011-12-28 15:46:17