请帮我看一下这个程序好吗?
    import   java.awt.*;    
 import   java.awt.event.*;        
 public   class   TankClient   extends   Frame{        
 public   void   paint(Graphics   g)   {    
 Color   c=g.getColor();    
 g.setColor(Color.RED);    
 g.fillOval(100,100,   20,   20);    
 g.setColor©;      
 }      
 public   void   lauthFrame()   {    
 this.setLocation(100,100);    
 this.setSize(800,600);    
 this.setVisible(true);    
 this.setTitle( "112233 ");    
 this.setResizable(false);    
 this.addWindowListener(new   WindowAdapter()   {    
 public   void   windowClosing(WindowEvent   e)   {    
 System.exit(0);    
 }    
 });      
 }        
 public   static   void   main(String[]   args)   {      
 TankClient   tc   =   new   TankClient();    
 tc.lauthFrame();        
 }      
 }        
 这个程序   中的paint方法   在那里被调用的????            多谢了      我刚开始学java   可能这个问题很弱智         但也请告诉我         多谢了                 
------解决方案--------------------tc.lauthFrame();之后 
 你可以用断点调试一下,或加几个system.out语句就可以很清楚的看出来.
------解决方案--------------------面向对象中讲到的封装和继承,paint()方法从Frame类里继承而来,覆盖了Frame类的paint()方法,awt线程会不时的去调用它的repaint()方法,然后通过调用update()方法清空窗口的内容,然后进而调用paint()方法,面向对象不用知道底层的实现,即不用去管细节问题,只要完成了你的功能即可,呵呵!