JavaGUI——swing组件基础(一)面板组件JPanel

为什么要有面板组件?

在图形用户界面编程,很多时候只用三种布局管理器解决不了问题,在比较复杂的布局要求时,就需要使用布局管理器的组合使用。

面板组件怎么用?

JPanel:面板组件,非顶层容器,默认为流式布局

一个界面只可以有一个JFrame顶层容器,但是可以有多个JPanel面板组件,而JPanel上也可以使用FlowLayout,BorderLayout,GridLayout等各种布局管理器,这样可以组合使用达到较为复杂的布局效果。


代码实现:

import java.awt.*;        //导包
import javax.swing.*;
public class Swing_JPanel extends JFrame {    //继承JFrame顶层容器

	//定义组件
	JPanel jp1,jp2;        //定义面板
	JButton jb[]=new JButton[6];    //定义按钮
	public static void main(String[] args) {
		Swing_JPanel a=new Swing_JPanel();    //实现界面
	}
	
	//构造函数
	public Swing_JPanel()
	{
		//创建组件
		jp1=new JPanel();    //创建面板
		jp2=new JPanel();
		jb[0]=new JButton("苹果");    //创建按钮
		jb[1]=new JButton("荔枝");
		jb[2]=new JButton("葡萄");
		jb[3]=new JButton("香蕉");
		jb[4]=new JButton("草莓");
		jb[5]=new JButton("西瓜");
		
		//设置布局管理器(因为默认让它就是边界布局,所以不用设置)
		
		//添加组件,我喜欢整体到局部,也可以局部到整体
		this.add(jp1,BorderLayout.NORTH);    //把面板1添加到北部
		this.add(jb[5],BorderLayout.CENTER);    //把按钮6添加到中部
		this.add(jp2,BorderLayout.SOUTH);    //把面板2添加到南部
		
		jp1.add(jb[0]);        //添加面板1的按钮组件
		jp1.add(jb[1]);
		jp2.add(jb[2]);        //添加面板2的按钮组件
		jp2.add(jb[3]);
		jp2.add(jb[4]);
		
		//设置窗体属性
		this.setTitle("组合布局案例");		//设置窗体标题
		this.setSize(300, 200);				//设置窗体大小
		this.setLocation(200, 200);			//设置窗体初始位置
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	 //这个很重要!!!设置关闭窗体后虚拟机一同关闭,不设置的
		this.setVisible(true);				//设置可以显示
	}
}

上述代码是将两个面板插入到JFrame中,面板的默认布局模式为流式布局,面板也可以设置布局模式,这样就可以实现多布局管理的组合使用。

面板组件注意事项:

  1. 面板组件可以设置布局模式,实现多模式布局,但默认为流式布局。
  2. 面板组件里可以添加其他组件。

欢迎各位在评论区留言讨论~~

  • 9
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
整理了Java GUI编程基础知识! public class AllFrame { /** * 这里的代码涉及到 GUI 编程基本面板、基本组件、事件(ActionListener、ChangeListener、MouseListener) */ public AllFrame() { // new 一个主窗体 也可以这样写 new MainFrame(); MainFrame mf = new MainFrame(); } public static void main(String[] args) { new AllFrame(); } // 主窗体 继承 窗体基本格式 类 Jframe 以下弹出窗口均继承 Jframe class MainFrame extends Jframe implements ActionListener { JMenuBar menubar = new JMenuBar();;// 菜单条 JMenu jmenu[] = new JMenu[5];// panelMenu,usedMenu1,usedMenu2,layoutMenu,helpMenu; // 菜单项 JButton closebtn;// 关闭窗体 // 具体的选项 JMenuItem panelitem[] = new JMenuItem[4]; JMenuItem useditem1[] = new JMenuItem[6]; JMenuItem useditem2[] = new JMenuItem[6]; JMenuItem layoutitem[] = new JMenuItem[3]; JMenuItem helpitem = new JMenuItem("关于"); // 菜单中名称 String menu[] = { "面板使用", "常用组件一", "常用组件二", "布局设置", "帮助" }; String pane[] = { "普通面板", "滚动面板", "分割面板", "选项面板" }; String uesd1[] = { "标签", "按钮", "文本框", "文本域", "单选按钮" ,"微调"}; String uesd2[] = { "滑块","复选框", "下拉菜单", "列表", "表格", "树状" }; String layout[] = { "流式布局", "边界布局", "网格布局" }; // Jpanelitem,Jscrollpaneitem,Splitpaneitem,JTabbedpanelitem, // Jlabelitem,Jbuttonitem,JTextfielditem,JTextareaitem,JRadiobuttonitem, // JCheckboxitem,JCombomoxitem,Jlistitem,Jtableitem,Jtreeitem, // Flowlayoutitem,Borderlayoutitem,Girdlayoutitem, // Helpitem}; public MainFrame() { this.setTitle("JAVA图型界面学习(GUI)"); // 加载菜单条到窗体中 this.setJMenuBar(menubar); // 重新设置大小 this.setSize(380, 290); // 简单的居中方法 在窗体基本格式类 Jframe 中有详细的居中方法 this.setLocationRelativeTo(null); // 设置关闭窗口 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 调用方法 menu(); // 设置容器 Container con = this.getContentPane(); // 定义一个 标签 “JAVA图型界面学习” JLabel jl = new JLabel("JAVA图型界面学习"); // 组件 设置字体大小, 其他组件用法相同 jl.setFont(new Font("隶书", Font.BOLD, 24)); // 具体定位 组件名.setBounds(x, y, width, height) jl.setBounds(30, 30, 280, 50); // 把标签加到 con 容器中 con.add(jl); /

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狮子座的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值