我被困在一个项目中,我不得不实施一系列最终形成功能性绘图程序的几个类。我的问题是,当我运行测试程序时,绘图不能正常工作。为了给你一个基本的想法,我实现了MyLine, MyRectangle, MyOval形状的子类,它们都在超类MyShape之下。这些子类中的每一个都实现了它们自己的draw方法,该方法将Graphics参数作为参数。然后我实现了两个类来设计可以使用鼠标绘制这些形状的界面。这两个类别DrawPanel和DrawFrame分别延伸JPanel和JFrame。鼠标绘图程序Java
我有一种感觉,错误是在覆盖的paintComponent方法DrawPanel,或者调用repaint()方法。什么,当我运行程序的情况是,整个窗口正常显示了所有的菜单等等。但是当我尝试绘制形状的两件事情任何一个情况:
没有什么发生在屏幕上。
如果我真的很快移动鼠标,我可能会得到一些小的涂鸦,它们会以正确的颜色和形状出现。
此外,我注意到如果我添加super.paintComponent(g2)命令,我会得到正确的白色背景,我可以看到很快被拖出的形状,但它们实际上并没有停留在屏幕上。
这里是我的DrawPanel代码,我敢肯定,这就是错误发生:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import javax.swing.JLabel;
im