但是由于在点击X后,小程序窗口随之关闭,调用destroy()的结果看不到,我想在程序中通过System.out.prinln()把destroyCounter的结果显示出来,但是程序运行错误,是什么问题呢?我这种方法是否可行,如果可行要怎么改,如果不行,有没有什么其它的方法能够看到destroyCounter的结果。
程序如下:
import java.awt.*;
import java.applet.*;
public class appletLifeCircle extends Applet
{
int initCounter=0;
int startCounter=0;
int stopCounter=0;
int destroyCounter=0;
public void init()
{
initCounter++;
}
public void start()
{
startCounter++;
}
public void stop()
{
stopCounter++;
}
public void destroy()
{
destroyCounter++;}
public void paint(Graphics g)
{
g.drawString("init has been invoked"+String.valueOf(initCounter)+" times ",20,20);
g.drawString("start has been invoked"+String.valueOf(startCounter)+" times ",20,30);
g.drawString("stop has been invoked"+String.valueOf(stopCounter)+" times ",20,40);
g.drawString("destroy has been invoked"+String.valueOf(destroyCounter)+" times ",20,50);

}
appletLifeCircle a =new appletLifeCircle();
System.out.println(a.destroy());
}
谢谢各位!!

解决方案 »

  1.   

    appletLifeCircle a =new appletLifeCircle();
    System.out.println(a.destroy());
    --------这两句是后来加上的,因为看不到调用destroy()的结果。
      

  2.   

    错误信息:appletLifeCircle.java:36: <identifier> expected
    System.out.println(a.destroy());
                      ^
    1 error
      

  3.   

    错误信息:
    System.out.println(a.destroy());//<identifier> expected
      

  4.   

    Applet 你不能自己创建它的对象你把System.out.println(destroyCounter)
    放在dertroy方法里面就 ok 了
      

  5.   

    appletLifeCircle a =new appletLifeCircle(); //不能定义自己的对象为属性
    System.out.println(a.destroy());            //方法的调用应该在方法里面////////////////////方法的引用应该在方法体里面
    而且类里面有一个自己的对象作为属性这样会造成内存用完
      

  6.   

    destory()是gc回收垃圾才用到的,至于什么时候回收,不是对象销毁就即刻回收的,回收垃圾是系统做的事。
      

  7.   


    destroy() 是 浏览器调用的
      

  8.   

    Applet 你不能自己创建它的对象你把System.out.println(destroyCounter)
    放在dertroy方法里面就 ok 了
    --------不ok呀,我这么干来着,但是,你没发现显示的结果是0吗,如果调用了destroy()的话,结果至少是1呀。