处理 Graphics2D.create() 创建的 Graphics2D 对象;

Disposing Graphics2D objects created by Graphics2D.create();

为了我现在正在创建的图形程序,我正在使用 Graphics2D g = (Graphics2D) gOrig.create(); 创建 Graphics2D 实例的分支。我想知道的是,我是否应该在完成此分叉后使用 g.dispose(); 方法,或者该方法是否由 Java 的底层工作自动处理。

是的,一定要处理这个 Graphics 对象。处理创建的所有 Graphics 或 Graphics2D 对象,因为这将有助于清理不再需要的资源。

但是将 JVM 提供给您的 Graphics 对象中的 none 处理为绘画方法的参数,例如 public void paint(Graphics g)protected void paintComponent(Graphics g)。处理这些风险会破坏绘制链,因为子组件、边框等下游通常需要这些 Graphics 对象。