Jframe 與 getContentPane()

關於setContentPane()和getContentPane()的應用

       我們可以在 JFrame 對象中添加 AWT 或者 Swing 組件。但是,雖然它有 add 方法,卻不能直接用於添加組件,否則會拋出異常——不信就試試。造成這個現象的原因只有一個解釋:JFrame 不是一個容器,它只是一個框架。那麼,應該怎麼添加組件呢?

  JFrame 有一個 Content Pane,窗口能顯示的所有組件都是添加在這個 Content Pane 中。JFrame 提供了兩個方法:getContentPane 和 setContentPane 就是用於獲取和設置其 Content Pane 的。

  對JFrame添加組件有兩種方式:
  1)用getContentPane()方法獲得JFrame的內容面板,再對其加入組件:frame.getContentPane().add(childComponent)


  2)建立一個Jpanel或JDesktopPane之類的中間容器,把組件添加到容器中,用setContentPane()方法把該容器置爲JFrame的內容面板:


    JPanel  contentPane=new  JPanel();
    ……//把其它組件添加到Jpanel中;
    frame.setContentPane(contentPane);
    //把contentPane對象設置成爲frame的內容面板

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章