我在哪里可以找到实现的抽象图形类?

问题描述 投票:0回答:1

一个抽象类被传递给 paintComponent ,并且可以在它上面执行功能。无论如何,这听起来不真实。所以必须有一个具体的 Graphics 的定义。我正在考虑是否可以引用那个具体的类,以及是否可以跳过重新定义 paintComponent 过程来直接绘制东西。

java swing graphics awt
1个回答
0
投票

确实查看 API JComponent.paint() 方法需要一个参数:Graphics,一个抽象类。

但这只是 API,这意味着在运行时需要传递一些简洁的实现。如果您阅读 API 文档,有两个已知的子类:DebugGraphics(不是抽象的)和Graphics2D,它又是抽象的。

当您运行某些 Swing 应用程序时,您将看到组件接收 Graphics2D 的实现。在我的 java-11-openjdk-amd64 类 sun.java2d.SunGraphics2D 是简洁的类。

© www.soinside.com 2019 - 2024. All rights reserved.