方法调用问题
import java.awt.*;
import javax.swing.*;
public class Pascal extends JFrame {
public Pascal() {
setBackground(Color.white);
setTitle("巴斯卡三角形");
setSize(520, 350);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
show();
}
public void paint(Graphics g) {
//略过...
}
public static void main(String args[]) {
Pascal frm = new Pascal();
}
}
上面的程序可以正常运行,想问paint方法是怎么被构造函数的show()调用的啊?
问题点数:20、回复次数:5Top
1 楼treeroot(旗鲁特)回复于 2005-10-25 11:44:36 得分 5
GUI painting is a complex procedure!
You can refer to the source code of AWT/SWING,but i suggest you read some
documents on www.sun.com!Top
2 楼skycncomp(闭关修练到年底)回复于 2005-10-25 12:45:13 得分 5
paint应该是回调吧.不需要你调用的.
在需要重绘的地方JVM会自动调用的.
Top
3 楼kingofs(银骑)回复于 2005-10-25 14:25:00 得分 0
回楼上的:但是如果去掉show(),图形是显示不出来的。
是不是说jvm调用paint后,图形已经绘制好了,只是不显示出来,而show()是起调出窗口显示的作用?Top
4 楼ianok(再菜我也要up出個星來)回复于 2005-10-25 16:00:22 得分 0
upTop
5 楼kiteprince(追风逐云【不给钱就算了,干嘛还不给分!?】)回复于 2005-10-25 16:32:53 得分 10
1.Pascal frm = new Pascal();
在JVM中内存分配一块空间给这个对象
2. setBackground(Color.white);
setTitle("巴斯卡三角形");
setSize(520, 350);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
是对已经存在的对象进行“加工”
3.show();
是一个动做
你也可以理解成,你的房子的一个房间里造车,并且给车子涂了油漆,取了名字,如果不拿出来show()一下,谁能够看到你的成功呢!?
呵呵Top




