让我了解Java图形

时间:2012-06-22 20:51:20

标签: java graphics groovy awt basic

我正在尝试使用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)
}

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

1 个答案:

答案 0 :(得分:3)

textArea.getGraphics()

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