Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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
我怎样才能在Java2D模拟中画出一部分不';不要更改为图像/缓冲区,因此我不';我们不必重新绘制它';每次都是原语吗?_Java_Graphics_Java 2d - Fatal编程技术网

我怎样才能在Java2D模拟中画出一部分不';不要更改为图像/缓冲区,因此我不';我们不必重新绘制它';每次都是原语吗?

我怎样才能在Java2D模拟中画出一部分不';不要更改为图像/缓冲区,因此我不';我们不必重新绘制它';每次都是原语吗?,java,graphics,java-2d,Java,Graphics,Java 2d,我如何才能在Java2D模拟中画出一部分不改变为图像/缓冲区的内容,这样我就不必每次都重新绘制原语了 我的Java2D模拟中有一部分需要绘制数千条小直线。但是,应用程序的这一部分在绘制后不会改变,因此每次循环迭代(执行活动渲染)重新绘制数千个基本体是没有意义的 那么,我应该使用什么对象来绘制和保存它,然后允许我简单地将整个图像绘制到画布上,然后在上面绘制什么变化?可以绘制到a,然后,将缓冲图像的内容绘制到Swing组件,如a 为了绘制到缓冲区图像,可以使用获取图像的上下文: BufferedIm

我如何才能在Java2D模拟中画出一部分不改变为图像/缓冲区的内容,这样我就不必每次都重新绘制原语了

我的Java2D模拟中有一部分需要绘制数千条小直线。但是,应用程序的这一部分在绘制后不会改变,因此每次循环迭代(执行活动渲染)重新绘制数千个基本体是没有意义的

那么,我应该使用什么对象来绘制和保存它,然后允许我简单地将整个图像绘制到画布上,然后在上面绘制什么变化?

可以绘制到a,然后,将
缓冲图像的内容绘制到Swing组件,如a

为了绘制到
缓冲区图像
,可以使用获取图像的上下文:

BufferedImage img = new BufferedImage(width, height, type);
Graphics2D g = img.createGraphics();
// do drawing using the Graphics2D object.
g.dispose();
然后稍后,通过覆盖以下方法将
buffereImage
的内容绘制到
JPanel

您可以将其绘制到a,然后将
buffereImage
的内容绘制到Swing组件,如a

为了绘制到
缓冲区图像
,可以使用获取图像的上下文:

BufferedImage img = new BufferedImage(width, height, type);
Graphics2D g = img.createGraphics();
// do drawing using the Graphics2D object.
g.dispose();
然后稍后,通过覆盖以下方法将
buffereImage
的内容绘制到
JPanel


请注意,您还应该重写getPreferredSize()以返回图像的大小,或者在JPanel上设置与图像大小相等的首选大小。如果不这样做,您的JPanel子类将出现布局问题。

请注意,您还应该覆盖getPreferredSize()以返回图像的大小,或者在JPanel上设置一个与图像大小相等的首选大小。如果不这样做,您的JPanel子类将出现布局问题