在Graphics Class中,有一个抽象方法定义为
public abstract void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
为什么我仍然可以直接在我的代码中使用该方法?
修改
在官方java文档中,Graphics
的唯一直接已知子类是Graphics2D
,它没有实现该方法,也没有任何直接已知子类即可。
答案 0 :(得分:3)
是的,您仍然可以使用它,因为您实际上并未在代码中使用抽象类Graphics。您的应用程序将使用Graphics的具体子类,该子类将传递给paintComponent(Graphics)
等方法。这个具体的子类将实现drawPolygon(int[], int[], int)
。
这篇关于Swing绘画的lesson可能有助于提供有关这些方法如何工作的更多细节。文章Painting in AWT and Swing也很有用。