当前位置: 代码迷 >> Java相关 >> 本人是个新人,问个初级问题,见笑了。
  详细解决方案

本人是个新人,问个初级问题,见笑了。

热度:245   发布时间:2007-07-07 17:33:47.0
本人是个新人,问个初级问题,见笑了。

这是教材上的一个applet程序,这个程序是运行成功的!!

当按下鼠标时记录鼠标位置,松开鼠标时画出矩形,我奇怪的是:

程序里定义了paint()函数,却没有调用它,调用的是repaint()函数,为什么?repaint函数哪里定义的?


import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;


public class App15_1 extends Applet implements MouseListener
{
int x1,x2,y1,y2,width,height;
boolean flag=false;

public void init()
{
this.addMouseListener(this);
}

public void mousePressed(MouseEvent e)
{
flag=true;
x1=e.getX();
y1=e.getY();
}

public void mouseReleased(MouseEvent e)
{
x2=e.getX();
y2=e.getY();
repaint();
}
public void paint(Graphics g)
{
if(flag)
{
width=Math.abs(x2-x1);
height=Math.abs(y2-y1);

if(x1>x2 && y1>y2)
{x1=x2;y1=y2;}
else if(x1>x2 && y1<y2)x1=x2;
else if(x1<x2 && y1>y2)y1=y2;

g.drawRect(x1,y1,width,height);
}
}

public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mouseClicked(MouseEvent e) {}

}

搜索更多相关的解决方案: 新人  见笑  初级  

----------------解决方案--------------------------------------------------------
repaint函数是父类里面定义的,你继承了Applet,就有了,Applet也是从它的父类那里继承过来 的
----------------解决方案--------------------------------------------------------
可是,这个程序里定义的paint函数有什么用呢?我怎么看不出来在什么时候调用了它?
----------------解决方案--------------------------------------------------------
paint方法会自动调用,还有,你调用repaint方法时,先会调用update方法,然后会调用paint方法
----------------解决方案--------------------------------------------------------
谢谢
----------------解决方案--------------------------------------------------------
  相关解决方案