在我之前的帖子之后,我将代码更改为:
PolygonnerJframe.java
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
*
* @author X2
*
*/
public class PolygonnerJframe
{
public static void main (String[] args)
{
JFrame frame = new JFrame("Draw polygons");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new DrawingPanel());
frame.pack();
frame.setVisible(true);
}
}
现在,此代码导致:
我不明白是什么原因造成的。
我所做的更改是:当我们完成一个多边形时,它的坐标保存在 class 的 arrayList 中Polygon
,每次我创建一个新的多边形时,我都会获取以前的多边形并绘制它们,同时绘制一个新多边形。
正如您在上面看到的,绘图出了点问题,我似乎找不到问题所在。
我会很感激任何帮助。
谢谢
编辑:
在考虑了@StanislavL 所说的之后,我将这些线移到了mouseClicked()
,但是这次每次创建一个没有“旧”多边形的新多边形时,我都会得到一个新屏幕。
只是一个新的多边形......没有旧的