1

我正在尝试用 Java 做一些非常简单和粗糙的图形工作(故意粗糙和简单,因为它模拟了 1980/1981 年的计算环境)。

Java(实际上是 Groovy)代码运行一些非常简单的 BASIC:

10 REM Testing Plotting
20 FOR X = 0 TO 31
30 LET Y = SIN(X/10)
40 PLOT (X, 11 - Y * 11)
50 NEXT X

Plot 在 Java/Groovy 中提供,如下所示:

grafix = textArea.getGraphics()

    ....
def plot(def x, def y)
{
    grafix.fillRect(x * 20 as Integer, y * 20 as Integer, 20, 20)
}

现在代码以一种方式工作 - 我在屏幕上短暂地看到一个正弦曲线闪烁,但它几乎立即消失(大概在文本区域的下一次重绘时)。我怎样才能让图形留在那里 - 我能想到的唯一方法是将绘图(和取消绘图)保存到一个列表中,然后让每个油漆“播放” - 但这似乎是一个非常极端的解决方案。

4

1 回答 1

3
textArea.getGraphics()

不要那样做。图形实例是瞬时的。而是在被告知这样做时(通过覆盖paintComponent(Graphics))绘制组件。

于 2012-06-22T20:58:41.930 回答