我想创建一个简单的Java应用程序来绘制线条。Java简单线条绘制程序
我的程序就像现在这样;
用户可以通过拖动鼠标来绘制所有内容,但当释放他的手指时,我从屏幕上删除了所有内容,并绘制了第一个鼠标坐标和最后一个鼠标坐标的一条线。
但是,因为每次我清除屏幕,用户只能画一条线。 如果我不清洁屏幕,有线条,但也有曲线等,这是用户拖动鼠标时创建的。
我应该如何找到解决方案?
谢谢。
我想创建一个简单的Java应用程序来绘制线条。Java简单线条绘制程序
我的程序就像现在这样;
用户可以通过拖动鼠标来绘制所有内容,但当释放他的手指时,我从屏幕上删除了所有内容,并绘制了第一个鼠标坐标和最后一个鼠标坐标的一条线。
但是,因为每次我清除屏幕,用户只能画一条线。 如果我不清洁屏幕,有线条,但也有曲线等,这是用户拖动鼠标时创建的。
我应该如何找到解决方案?
谢谢。
解决您的问题的一种简单的方法是在程序中保留保留状态。每当绘制一条线时,将其存储在一个点对的ArrayList中。当用户成功绘制一条线时,将该线的起点和终点存储到ArrayList中。每次用户绘制另一条线时,将该对点添加到ArrayList。然后,在绘制“所有线条”时,清除屏幕然后使用一个循环,并为每个存储的点对绘制一条线。
程序中的某个地方存在一个类,其生命周期“只要绘图”,或“只要应用程序运行”。这是保持国家的好地方。
将行的起点和终点存储在放入可扩展集合(如ArrayList
)中的对象中。在绘制时,绘制列表中的所有行。
Custom Painting Approaches提出了两种方法。第一个存储/重绘的行已经在这里建议。第二种方法是直接绘制到BufferedImage。
+1我忘了'BufferedImage'。 –