关于java中paint的问题

shayuanshayuan_ 2017-10-05 09:16:33
在学习Java的过程中遇到了这样一个问题:
1.使用Frame的时候,调用paint函数,重新绘制的时候原来的图像不会保留。
2.使用JFrame的时候,调用paint函数,重新绘制的时候不会清除原来的图像。

说明:
1.代码要做的事情是通过点击鼠标按键,界面上的线段会进行移动,在继承Frame的时候和继承JFrame的时候出现了上述的疑问。
2.这个代码是继承与Frame的,也就是不会保留原来的图像,代码可以直接改成继承与JFrame看效果。

代码如下,希望各位能解答我的疑惑,谢谢=w=:

//不知道为什么会带一堆稀奇古怪的东西,请点右边的那个小图标进行复制
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class A {

public static void main(String[] args) {
new MyFrame();
}
}

class MyFrame extends Frame {

private int lineaX = 100, lineaY = 100;
private int linebX = 100, linebY = 300;

public MyFrame() {
this.setBounds(100, 100, 400, 400);
this.setLayout(null);
this.setVisible(true);

this.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
switch(e.getButton())
{
case MouseEvent.BUTTON1:
lineaX += 5;
linebX += 5;
break;
case MouseEvent.BUTTON3:
lineaX -= 5;
linebX -= 5;
break;
}
repaint();
}
});
}

public void paint(Graphics g) {
g.drawLine(lineaX, lineaY, linebX, linebY);
}
}
...全文
171 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧