import java.awt.Graphics;     
import javax.swing.JApplet;   public class WelcomeApplet extends JApplet {      
   public void paint( Graphics g ) 
   { 
       
      super.paint( g );       // draw a String at x-coordinate 25 and y-coordinate 25 
      g.drawString( "Welcome to Java Programming!", 25, 25 );    }  
}  红色字块中的g是一个对象的引用吗?如果是,那是在哪被实例化对象的啊??如果不是对象的话那语法能编译通过吗> ? 书上说的是创建由G引用的Graphics是APPLET容器的责任?我很费解啊,难道是隐式创建的?

解决方案 »

  1.   

    g是一个Graphics对象或者Graphics子类对象的引用。
    java.awt.Component有
    public Graphics getGraphics();实例话应该是java.awt.Component中有
        static {
            /* ensure that the necessary native libraries are loaded */
            Toolkit.loadLibraries();
            /* initialize JNI field and method ids */
            if (!GraphicsEnvironment.isHeadless()) {
                initIDs();
            }        String s = (String) java.security.AccessController.doPrivileged(
                                                                            new GetPropertyAction("awt.image.incrementaldraw"));
            isInc = (s == null || s.equals("true"));        s = (String) java.security.AccessController.doPrivileged(
                                                                     new GetPropertyAction("awt.image.redrawrate"));
            incRate = (s != null) ? Integer.parseInt(s) : 100;
        }估计是红色的方法完成这一步的,但是这个方法是native的。对于我们来说在图形界面程序中直接用就可以了。
      

  2.   

    public void paint( Graphics g ) 
    是Applet系统的标准绘图方法,Applet内部会自动,g是系统自动生成的,通过JNI
      

  3.   

    fpwcs () 在CSDN社区共有可用分:960, 已花费可用分:660, 剩余可用分:300,又是一个哭穷的!