void init()这个方法有public吧,你写的东西是对的啊!能够看到你的按钮的,你怎么会看不到呢?说说你是怎么让applet运行的吧,你的html文件是怎么写的呢?

解决方案 »

  1.   

    老兄,明明可以显示嘛!我刚用下面的代码测试了
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.event.*;
    public class test2 extends JFrame 
    {
       static B b = new B();
       public static void main(String[] args)
       {
           test2 tt = new test2();
           tt.getContentPane().add (b);
           tt.setSize (200,300);
           tt.setVisible (true);
       }
        
    }class B extends A
    {
        public B()
        {
        }
    }class A extends JPanel 
    {
      JButton btn = new JButton ("hello");
      public A()
      {
          add(btn);
      }
    }不用上面的代码试试看!在我这儿那个Button确实是显示了!
      

  2.   

    to wxyxl(断肠人) :
    you are right.
    但我不明白为什么b被说明为static,请说明
      

  3.   

    你再看看下面的代码:
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.event.*;
    public class test2 extends JFrame 
    {
       B b = new B();
       public test2()
       {
          getContentPane().add (b);
          setSize (200,300);
          setVisible (true); 
       }
       public static void main(String[] args)
       {
           test2 tt = new test2();
       }
        
    }class B extends A
    {
        public B()
        {
        }
    }class A extends JPanel 
    {
      JButton btn = new JButton ("hello");
      public A()
      {
          add(btn);
      }
    }
    Java语言有一个规定就是在静态函数中不能调用非静态函数,否则编译都通不过!
      

  4.   

    thanks wxyxl(断肠人) , i see
      

  5.   

    呵呵!其实断肠人的第一个程序b不定义成static也行,只要在引用时加上对象名即可:
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.event.*;
    public class test2 extends JFrame 
    {
      B b = new B();                                 //〈--------
      public static void main(String[] args)
      {
          test2 tt = new test2();
          tt.getContentPane().add (tt.b);         //〈---------
          tt.setSize (200,300);
          tt.setVisible (true);
      }
        
    }class B extends A
    {
        public B()
        {
        }
    }class A extends JPanel 
    {
      JButton btn = new JButton ("hello");
      public A()
      {
          add(btn);
      }
    }to woxin():如果你的问题解决了的话,请你给此贴加分吧。
      

  6.   

    to lmy2000(pluto) :
     原来这样,谢谢指教!
      

  7.   

     I do not know why i could not add the points to wxyxl(断肠人)