JPanel与JFrame的区别

发布时间:2012-11-21 14:55:11

Jpanel不是顶级窗口,不能直接输出。它必须放在象JFrame这样的顶级窗口上才能输出。JcontentPane实际上就是一个JPanel。Jframe中会默认new一个JPanel,塞入JFrame中
JPanel可以放在JFrame中,但是反过来就是不行的!效果上没什么特大的区别~!
JFrame用来做主页面框架,JPanel只是普通页面
JPanel可以放在JFrame中,反之不行.

JFrame   可以看成,最底级容器,可以包括其他上级容器包括JPanel
JFrame只是一个界面,也就是个框架,要想把控件放在该界面中,必须把控件放在JPanel中,然后再把JPanel放在JFrame中,JPanel作为一个容器使用。
例子:

 

import   java.awt.GridLayout;
 
import   javax.swing.JFrame;
import   javax.swing.JPanel;
 
public   class   index   extends   JFrame
{
JPanel   contentPane;
public   index()
{
contentPane=(JPanel)this.getContentPane();
 
setSize(400,300);
setDefaultCloseOperation(2);
 
GridLayout   gridLayout=   new   GridLayout();
gridLayout.setColumns(2);
gridLayout.setRows(2);
contentPane.setLayout(gridLayout);
contentPane.add(new   JPanel(),null);
contentPane.add(new   JPanel(),null);
contentPane.add(new   JPanel(),null);
contentPane.add(new   JPanel(),null);
 
setVisible(true);
}
public   static   void   main(String   args[])
{
new   index();