Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
了解Java图形_Java_Graphics_Groovy_Awt_Basic - Fatal编程技术网

了解Java图形

了解Java图形,java,graphics,groovy,awt,basic,Java,Graphics,Groovy,Awt,Basic,我正在尝试用Java做一些非常简单和粗糙的图形(刻意地粗糙和简单,因为它模拟了1980/1981年的计算环境) Java(实际上是Groovy)代码运行一些非常简单的基本操作: 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 Java/Groovy中提供了如下绘图: grafix = textArea.getGraphics() ...

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

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

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
Java/Groovy中提供了如下绘图:

grafix = textArea.getGraphics()

    ....
def plot(def x, def y)
{
    grafix.fillRect(x * 20 as Integer, y * 20 as Integer, 20, 20)
}
现在代码以某种方式工作了——我在屏幕上短暂地看到一条正弦曲线闪烁,但它几乎在瞬间消失(大概是在下次重新绘制文本区域时)。我怎样才能让图形保持在那里?我能想到的唯一方法是将绘图(和取消绘图)保存到一个列表中,然后让“播放”每一幅画-但这似乎是一个非常极端的解决方案

textArea.getGraphics()

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

这显示了总体思路不确定这些建议中的任何一个是否适用于动态环境-我希望能够将图形更改作为基本更改进行,只需在paintComponent中绘制图形并调用repaint()在你的component@adrianmcmenamin不确定它是否有用,但我觉得很无聊,编写了一些groovy来渲染包含JTextArea的视口的背景。好吧,我仍然不知道这些如何帮助脚本/动态环境。实际上,绘图需要在运行时完成——编译/写入时不知道。