Java中创建一个窗口时系统会自动调paint方法吗

packagecn.bjsxt.test;importjava.awt.Color;importjava.awt.Font;importjava.awt.Frame;im... package cn.bjsxt.test;

import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class GameFrame extends Frame {

public void launchFrame(){
setSize(500, 500);
setLocation(100, 100);
setVisible(true);

addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}

});
}

public void paint(Graphics g) {

g.drawLine(100, 100, 200, 200);
g.drawRect(100, 100, 200, 200);
g.drawOval(100, 100, 200, 200);

Font f =new Font("宋体",Font.BOLD,100);
g.setFont(f);

g.drawString("我是尚学堂高琪", 200, 200);

g.fillRect(100, 100, 20, 20);

Color c = g.getColor();
g.setColor(Color.red);
g.fillOval(300, 300, 20, 20);
g.setColor(c);

}

public static void main(String[] args) {

GameFrame gf = new GameFrame();
gf.launchFrame();
}

}
以这个程序为例,当我重写了paint方法时,每当我创建窗口时,总会自动的在窗口里打印重写后paint的内容,但是我本身并没有调用paint方法,我知道这使用到了回调的知识,那么每次创建一个窗口时,系统会自动的调用paint这个方法么,调用paint方法是在哪一步?
还有调用paint方法时的参数也是由系统给传的么,传的是什么?
展开
 我来答
lufei_200x
2013-07-14 · TA获得超过2733个赞
知道小有建树答主
回答量:280
采纳率:0%
帮助的人:309万
展开全部
paint方法的调用,不是人工控制的,在awt组件发生变化时,如
你调用paintComponent方法,会触发paint调用,因为组件发生了变化。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式