JPanel和JFrame的区别是什么?

coaa 2003-03-31 05:19:42
各适用于什么情况???
...全文
3110 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cloudtarget 2003-04-02
  • 打赏
  • 举报
回复
一个很好的布局管理器的例子,也是一个JApplet的例子,需要有HTML文件
import javax.swing.*;
import java.awt.*;

public class Applicant extends JApplet
{
JPanel panel;

GridBagLayout gl;
GridBagConstraints gbc;

public void init()
{
panel =(JPanel)getContentPane();
panel.setLayout(gl);

gl=new GridBagLayout();
gbc=new GridBagConstraints();

Button b1=new Button("button 1");
Button b2=new Button("button 2");
Button b3=new Button("button 3");
Button b4=new Button("button 4");
Button b5=new Button("button 5");
Button b6=new Button("button 6");

//gbc.fill=GridBagConstraints.HORIZONTAL;
//gbc.fill=GridBagConstraints.VERTICAL;
//gbc.fill=GridBagConstraints.NONE;
gbc.fill=GridBagConstraints.BOTH;

gbc.anchor=GridBagConstraints.CENTER;
//gbc.anchor=GridBagConstraints.EAST;
//gbc.anchor=GridBagConstraints.SOUTH;
//gbc.anchor=GridBagConstraints.WEST;
//gbc.anchor=GridBagConstraints.NORTH;
//gbc.anchor=GridBagConstraints.NORTHEAST;
//gbc.anchor=GridBagConstraints.NORTHWEST;
//gbc.anchor=GridBagConstraints.SOUTHEAST;
//gbc.anchor=GridBagConstraints.SOUTHWEST;
gbc.weightx=1.0;

gbc.gridheight=1;
gl.setConstraints(b1,gbc);
panel.add(b1);

gbc.gridwidth=GridBagConstraints.RELATIVE;
gl.setConstraints(b2,gbc);
panel.add(b2);

gbc.gridwidth=GridBagConstraints.REMAINDER;
gl.setConstraints(b3,gbc);
panel.add(b3);

gbc.weightx=0.0;
gbc.weighty=1.0;

gbc.gridwidth=1;
gbc.gridheight=2;
gl.setConstraints(b4,gbc);
panel.add(b4);

gbc.gridwidth=GridBagConstraints.REMAINDER;
gbc.gridheight=1;
gl.setConstraints(b5,gbc);
panel.add(b5);

gbc.gridwidth=GridBagConstraints.REMAINDER;
gbc.gridheight=1;
gl.setConstraints(b6,gbc);
panel.add(b6);
}
}
xmpp 2003-04-01
  • 打赏
  • 举报
回复
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();
}
}
starDXJ 2003-04-01
  • 打赏
  • 举报
回复
JFrame只是一个界面,也就是个框架,要想把控件放在该界面中,必须把控件放在JPanel中,然后再把JPanel放在JFrame中,JPanel作为一个容器使用。
wyqiang 2003-04-01
  • 打赏
  • 举报
回复
学过vc吗

CMainFrame

CSView
geyf 2003-03-31
  • 打赏
  • 举报
回复
可以考虑使用JSplitPane
或者用布局管理器
lmszcm 2003-03-31
  • 打赏
  • 举报
回复
JFrame 可以看成,最底级容器,可以包括其他上级容器包括JPanel
coaa 2003-03-31
  • 打赏
  • 举报
回复
能举个例子吗?
如果要把一个界面分成上下左右四块,如何实现呢?
jsyx 2003-03-31
  • 打赏
  • 举报
回复
JFrame 可以做顶级窗体
JPanel 不可以
geyf 2003-03-31
  • 打赏
  • 举报
回复
JFrame用来做主页面框架,JPanel只是普通页面
JPanel可以放在JFrame中,反之不行

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧