强烈建议去看documentation再来问

解决方案 »

  1.   

    建议看看《java核心技术2》,里面有讲这方面的理论基础知识,
    默认的人口是paint()。这个和普通的bean不同
      

  2.   


    就是J2SE的文档,包含所有的API函数的说明资料,这是学java必备的
    去www.sun.com下吧
      

  3.   

    在创建窗口时会默认调用paint()方法,若改为hello方法,则它仅为一个成员方法。
      

  4.   

    paint()是Component的方法,你重写paint()方法,其实是重载,所以程序就会调用你的paint()方法,否则调用父类的paint()方法.这不是象构造函数每次调用,其实是界面程序的画图过程.
    在界面刷新时一样会被调用.
    其实你的paint()方法应该写出下面的样子:
    public void paint(Graphics g)
      {
        super.paint(g);
        g.drawLine(20,20,100,100);
      }你自己调用paint()方法?你是构造不了Graphics的.
      

  5.   

    re:zxp_net(好心情)
    我看了《java核心技术2》,里面没有说是如何调用的啊,也没说什么时候调用啊!
    它只讲了这些函数是干什么的!
    re:nil2000(我爱北京天安门) 
    首先感谢你的答复,不过我还是不知道,Component那么多方法为什么都不调用而偏偏要调用它呢?它好象也没有什么特征啊?还有它为什么会调用啊?可不可以把流程说详细点?谢谢!
      

  6.   

    main是程序的入口
    初始化Myframe的时候,除了frame的相关东西之外
    就要调用paint()
    你不是重载paint()了么
    自然就执行g.drawLine(20,20,100,100);了
      

  7.   

    虽然你没调用repain()方法,但是repain()方法在repain()方法中调用了,而repain()方法可以自己调用,也可以有系统判断调用。你在调用frame.setVisible(true);时,调用了repain()方法,这个方法调用到paint()方法,如果你不重载paint()方法,则调用Frame中的paint方法,现在是重载了,当然就调用了你自己的方法了。
      

  8.   

    在以下情况时系统会自动调用repaint方法:
    一.在第一次显示时;
    二.窗口被遮挡再重现时;
    你也可以调用repaint方法来建议(注意不是强制,awt系统总是异步的,它会尽可能快的执行你的请求)系统调用paint方法.
    实际上,除了你的程序的运行是一个线程外(在main线程组中),还有一个系统线程:awt线程,它时刻在等待着你的repaint请求.