java 为什么paint()方法自动调用了两次

importjavax.swing.*;importjava.awt.*;publicclassTestVideo1{publicstaticvoidmain(Strin... import javax.swing.*;
import java.awt.*;
public class TestVideo1{
public static void main(String args[]){
Video v=new Video();
v.setSize(500,150);
v.setVisible(true);
v.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class Video extends JFrame{
int j=0;
public void paint(Graphics g){
System.out.println(++j);
}
}
竟然输出:
1
2
这事为什么
展开
 我来答
叶落DY
2009-06-05 · TA获得超过167个赞
知道答主
回答量:131
采纳率:0%
帮助的人:78.4万
展开全部
很简单,这说明你点用了两次Vidoe的paint方法。之所以会这样是因为:
v.setSize(500,150);
v.setVisible(true);
这两个方法导致的,具体你可以看一看JFrame的代码
25...4@qq.com
2009-06-05 · TA获得超过662个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:328万
展开全部
// v.setSize(500,150); 把这句注掉,试验,最小化,还原时,会重绘一次。 在此基础上,拉长窗口,重绘两次。即:屏幕显示,与大小改变,都会 调用 paint 方法。

楼上正解。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
渡轮555
2009-06-05 · TA获得超过534个赞
知道小有建树答主
回答量:863
采纳率:100%
帮助的人:712万
展开全部
当一个应用程序窗口第一次显示在屏幕上时,或者当它改变大小或暴露在屏幕上时,窗口就会重绘自己
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yourfei
2009-06-04 · TA获得超过146个赞
知道答主
回答量:127
采纳率:0%
帮助的人:103万
展开全部
好像paint的运行机制就是这样,当时我设计的时候也是这样的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式