JPanel与JFrame的区别

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(); 

java设置容器Container和面板的布局。

原文地址:https://www.cnblogs.com/youxin/p/2783187.html