初学者请教:我编译的applet运行时出现下列情况,是哪里出了问题?--------------------Configuration: <Default>--------------------
Note: D:\test1\mycanvas.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.Process completed.

解决方案 »

  1.   

    使用了不建议使用的类或方法,一般这种不建议使用的东东在某种情况下存在bug
      

  2.   

    import java.applet.Applet;
    import java.awt.*;class NewCanvas extends Canvas{
    private int shape;

    public void paint(Graphics g)
    {
    if (shape==1)
       g.fillOval(50,10,60,60);
    else 
       g.fillRect(50,10,60,60);

    }
        public void setShape(int s)
        {
         shape=s;
         repaint();
        }
    }
    public class mycanvas1 extends Applet{
    private Panel p;
    private NewCanvas c;
    private Button b1,b2;

    public void init()
      {
       p=new Panel();
       c=new NewCanvas();
            
            c.resize(185,125);
            
            b1=new Button("Square");
            b2=new Button("Circle");
            
            p.setLayout(new BorderLayout());
            p.add("North",b1);
            p.add("South",b2);
            
            setLayout(new BorderLayout());
            add("West",p);
            add("East",c);
            }
            public boolean action(Event e,Object o)
            {
             if(e.target==b1){
            
                c.setShape(1);
                c.setBackground(Color.blue);}
             else {
            
                c.setShape(2);
                c.setBackground(Color.red);}
                
                return true;
            }
      }
    你看这个程序哪里存在bug?
      

  3.   

    这个程序得在浏览器里去运行啊.java的程序分为应用程序和小应用程序,应用程序是有main方法的,这是程序的入口,小应用程序是有init方法,这是小应用程序的入口,当然,本质是小应用程序是在浏览器中运行的.看完这段你应该能明白,在jc中运行applet为什么会出不来的原因了吧.
      

  4.   

    可这个程序在javac中运行applet和在浏览器都能运行成功,这是怎么回事?
      

  5.   

    Process completed.
    就是编译成功拉,但是那些提示是警告不是错误所以可以运行,但是这也是说程序存在逻辑错误
      

  6.   

    有些以前版本的方法在1.5中是deprecated 的,因为有了更好的实现,你可以找到同样功能的新方法。你使用了这样的deprecated 的方法,所以会出来这样的提示。
    没别的意思。上面的什么逻辑错误纯属胡说~