我觉得直接往上放,没有什么问题。

解决方案 »

  1.   

    不用啊。可以直接放~
      JFrame frame=new JFrame();
      JButton btn=new JButton();
    frame.add(btn);
      

  2.   

    如果你是直接 extends JFrame {} 你就可以直接  this.add(相应的组件)
      

  3.   

    new出一个组件 然后 JFrame.add()
    按楼上那样做就行了
      

  4.   

    如果你的类extends JFrame 那么在构造方法中直接add(控件)
    class MyButton extends JFrame{
        
        public MyButton(){
          JButton b=new JButton("1");
          add(b);
        }
    }
    如果你手动申明一个JFrame 那么就JFrame.add(控件)JButton b2=new JButton("2");
    JFrame f=new JFrame();
    f.add(b2);
      

  5.   

    可是有些大帅说:
    如果不在getContentPane()上放置的话,编译会正确,
    但会出现意想不到的错误
      

  6.   

    就是简单的add啊...只是JFrame默认的是BorderLayout的布局格式.我碰到过报错的情况,于是改成add(xx,BorderLayout.CENTER);
      

  7.   

    JFrame 和 JPanel 等都是一样的 本身就是一个容器extends Container
     getContentPane只是个人编程习惯而已
      

  8.   

    getContentPane() 得到 客户区
      

  9.   

    有时候,个别组件无法显示,非得鼠标放上去才有。
    这是不是直接在JFrame上add组件的原因。??
      

  10.   

    java.awt.Container container=getContentPane();
    container.add(new JButton("abc");
    最好是用getContentPane()
      

  11.   


    这个视JDK版本而定,1.4中需要,1.5后就不需要了!
      

  12.   

    推荐一本好书《JAVA2核心技术》,在卷I中都由解释,1.5以后可以直接用add,有需要的话联系我,PDF版的,网上很容易搜到。