| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 627 人关注过本帖
标题:本人是个新人,问个初级问题,见笑了。
只看楼主 加入收藏
zhangyong073
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-7-6
收藏
 问题点数:0 回复次数:4 
本人是个新人,问个初级问题,见笑了。

这是教材上的一个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) {}

}

搜索更多相关主题的帖子: 新人 见笑 初级 
2007-07-07 17:33
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
repaint函数是父类里面定义的,你继承了Applet,就有了,Applet也是从它的父类那里继承过来 的

可惜不是你,陪我到最后
2007-07-07 17:43
zhangyong073
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-7-6
收藏
得分:0 
可是,这个程序里定义的paint函数有什么用呢?我怎么看不出来在什么时候调用了它?
2007-07-07 17:50
ynw520
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-8-24
收藏
得分:0 
paint方法会自动调用,还有,你调用repaint方法时,先会调用update方法,然后会调用paint方法

走自已的路,让别人去说吧!
2007-07-07 18:23
zhangyong073
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-7-6
收藏
得分:0 
谢谢
2007-07-07 22:34
快速回复:本人是个新人,问个初级问题,见笑了。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011533 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved