Pane窗格,Panel面板,getContentPane()


  Pane和Panel的含義是不一樣的:

  Pane,窗格

  Panel,面板

  pane是Java中的一個控件,是不具備包含其他控件的功能的;而panel雖然也是一個控件,但是它還有一個身份就是布局,它可以管理其他的控件。

  Pane指窗口中可以獨立滾動的子部分,如果你在Word中使用屏幕分割的功能,那么分割出的兩個獨立部分就是Pane。

  而Panel是用來分組控件和其它對象的,典型的例子是工具條中用來分組按鈕的區域(我用紅色方框圈起來的部分,當然,下圖中不只有一個Panel)。

  關於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的內容面板


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM