我想知道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