Java 上的 (Graphics g, Graphics2D) 问题

Posted

技术标签:

【中文标题】Java 上的 (Graphics g, Graphics2D) 问题【英文标题】:Problem with (Graphics g, Graphics2D) on Java 【发布时间】:2020-07-21 13:16:28 【问题描述】:

我无法保留我用“g2d.drawLine(w, x, y, z);”绘制的过去线, 我调用“repaint()”来更新 Jpanel,它只是画了一条新线,我需要保留我过去画的线。

应该怎么做:enter image description here

id做什么:enter image description here

【问题讨论】:

您必须将线路端点保存在由普通旧 Java 类组成的应用程序模型中。每次要重绘 JPanel 时,都必须重绘整个 JPanel。 【参考方案1】:

您可以使用 Point 对象的 ArrayList,每次进行任何计算时,只需将终点保存到其中即可。每次重新绘制面板时,只需按照添加顺序在 ArrayList 中的所有点之间画线即可。

【讨论】:

以上是关于Java 上的 (Graphics g, Graphics2D) 问题的主要内容,如果未能解决你的问题,请参考以下文章

libgdx上的无限滚动背景

内部剪辑与Java图形

Java - 覆盖 >variable< 中的paint(Graphics g) 方法

Java的Paint方法存在问题,刷新速度荒谬

java.awt.Label 派生类的paint(Graphics g) 方法未调用

java_关于Graphics类