java:面板JPanel的使用

您所在的位置:网站首页 java设置面板背景颜色 java:面板JPanel的使用

java:面板JPanel的使用

2024-07-17 14:18| 来源: 网络整理| 查看: 265

JPanel面板 一、关键代码(一)、新建面板(二)、面板添加边框(三)、面板选择的布局方法 二、简单说明三、流程图四、源码(一)、源码A(二)、源码A的运行效果(三)、源码B(四)、源码B的运行效果 五、定位日期

一、关键代码 (一)、新建面板 JPanel p_1=new JPanel();// 创建面板p_1上行代码需要在源码前段添加变量代码:import javax.swing.JPanel;// 面板 (二)、面板添加边框 p_1.setBorder(BorderFactory.createTitledBorder("面板p_1"));// 面板p_1添加边框上行代码说明:给面板p_1添加边框,标题名称“面板p_1”英语单词: Border(边框),Factory(工厂),create(创造),Titled(标题) (三)、面板选择的布局方法

边界布局,面板里建立边界布局,需要添加变量:import java.awt.BorderLayout p_1.setLayout(new BorderLayout());// 面板p_1建立布局,边界布局

网格布局,面板李建立网格布局,需要添加变量:import java.awt.GridLayout p_2.setLayout(new GridLayout(5,1,20,5));// p_1建立布局,网格布局;行,列,水平间距,竖直间距

流布局,面板建立流布局,需要在源码前面添加变量:import java.awt.FlowLayout; p_3.setLayout(new FlowLayout());// p_3建立布局,流布局

二、简单说明

源码的大致思想。先创建一个窗体f,设置好各种属性,如大小、坐标、是否可见、关闭方式等。然后创建一个容器c,容器c用于布置各种“按钮”等组件,以及排布方式。有时候窗体内布置组件需要分开处理布置,此时便可考虑使用面板了。使用面板先划分各面板处在窗体中的各位置。最后,面板里可以添加“按钮”等各种组件,选择不同的布局方法,不同的背景颜色等。各面板之间可以分别布置组件,互不打扰之模式。

注意: 本博文网格布局的行和列运行效果需要注意的。“按钮”数÷行数=n,那么n+1变为列数,列数受手动设置数值的效果不大。具体可以看往期的网格布局的博文。 三、流程图

可以直接在容器c中添加“按钮”等各种构件,也可以在容器c添加面板p后,再在面板p里添加“按钮”等各种构件。添加面板p可以将窗体f分成多个区域,然后对各个区域分别进行构件、排布、尺寸等各属性的设计。

布局方法 布局方法 其他-容器 窗体 容器-举例 其他面板 面板-举例 其他-构件 按钮1-1 其他-构件 按钮2-1 坐标,尺寸,各属性 四、源码 (一)、源码A 说明: 窗体f里添加容器c,容器c里添加4个面板,容器c使用网格布局来布置面板,分别设置不同的背景颜色。方法way1为窗体的主要属性。方法way2为添加各面板的各种属性。 /* JPanel面板 步骤: 1、窗体 2、窗体里添加容器 3、容器添加面板 4、构件可以添加到“容器”中,也可以添加到“面板”里, 显示效果不同。 提醒:关于网格布局(GridLayout),行和列的关系说明 可以看往期的“网格布局”的博文 */ import java.awt.Container;// 容器 import java.awt.GridLayout;// 网格布局 import java.awt.Color;// 颜色 import java.awt.BorderLayout;// 边界布局 import java.awt.FlowLayout;// 流布局 import javax.swing.JFrame;// 窗体 import javax.swing.JPanel;// 面板 import javax.swing.BorderFactory;// 边框 工厂 import javax.swing.JButton;// 按钮 class Demo{ JFrame f=new JFrame();// 新建窗体f Container c;// 新建“容器”c /* 方法way2 设置插入容器中面板的数量、属性 */ void way2(){ c=f.getContentPane();// 容器镶入窗体f中 // 网格组布局(行数,列数,水平间距,垂直间距) c.setLayout(new GridLayout(2,2,20,30));// 容器c建立布局,网格布局 /* 面板p_1的属性 */ JPanel p_1=new JPanel();// 创建面板p_1 // Border(边框),Factory(工厂),create(创造),Titled(标题) p_1.setBorder(BorderFactory.createTitledBorder("面板p_1"));// 面板p_1添加边框 p_1.setBackground(Color.pink);// 设置背景颜色 c.add(p_1);// 面板p_1放于容器c中 /* 面板p_2的属性 */ JPanel p_2=new JPanel();// 创建面板 // Border(边框),Factory(工厂),create(创造),Titled(标题) p_2.setBorder(BorderFactory.createTitledBorder("面板p_2"));// 面板p_2添加边框 p_2.setBackground(Color.GREEN);// 背景颜色 c.add(p_2);// 面板p_2放于容器中 /* 面板p_3的属性 */ JPanel p_3=new JPanel();// 创建面板 // Border(边框),Factory(工厂),create(创造),Titled(标题) p_3.setBorder(BorderFactory.createTitledBorder("面板p_3"));// 面板p_3添加边框 p_3.setBackground(Color.YELLOW);// 背景颜色 c.add(p_3);// 面板p_3放于容器中 /* 面板p_4的属性 */ JPanel p_4=new JPanel();// 创建面板 // Border(边框),Factory(工厂),create(创造),Titled(标题) p_4.setBorder(BorderFactory.createTitledBorder("面板p_4"));// 面板p_4添加边框 p_4.setBackground(Color.BLUE);// 背景颜色 c.add(p_4);// 面板p_4放于容器中 } /* 方法way1 设置窗体的属性 */ void way1(){ f.setSize(900,780);// 窗体f的尺寸 // Location(位置),Relative(相对的),null则为居中(默认) f.setLocationRelativeTo(null);// 居中显示,null(空值) // Default(默认),Operration(操作),点×程序停止运行 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { Demo d=new Demo();// 创建一个Demo类d,class后面的自命名 d.way1();// 窗体属性 d.way2();// 容器镶入窗体,设置面板属性 d.f.setVisible(true);// 窗体可见 } } (二)、源码A的运行效果

在这里插入图片描述

(三)、源码B 说明: 在四个面板里添加“按钮”。分别使用边界布局、网格布局、流布局、绝对布局。具体的布局方法说明可以看往期的相关博文。 /* JPanel面板 步骤: 1、窗体 2、窗体里添加容器 3、容器添加面板 4、构件可以添加到“容器”中,也可以添加到“面板”里, 显示效果不同。 提醒:关于网格布局(GridLayout),行和列的关系说明 可以看往期的“网格布局”的博文 */ import java.awt.Container;// 容器 import java.awt.GridLayout;// 网格布局 import java.awt.Color;// 颜色 import java.awt.BorderLayout;// 边界布局 import java.awt.FlowLayout;// 流布局 import javax.swing.JFrame;// 窗体 import javax.swing.JPanel;// 面板 import javax.swing.BorderFactory;// 边框 工厂 import javax.swing.JButton;// 按钮 class Demo{ JFrame f=new JFrame();// 新建窗体f Container c;// 新建“容器”c /* 方法way2 设置插入容器中面板的数量、属性 */ void way2(){ c=f.getContentPane();// 容器镶入窗体f中 // 网格组布局(行数,列数,水平间距,垂直间距) c.setLayout(new GridLayout(2,2,20,30));// 容器c建立布局,网格布局 /* 面板p_1的属性 */ JPanel p_1=new JPanel();// 创建面板p_1 p_1.setLayout(new BorderLayout());// 面板p_1建立布局,边界布局 // Border(边框),Factory(工厂),create(创造),Titled(标题) p_1.setBorder(BorderFactory.createTitledBorder("面板p_1"));// 面板p_1添加边框 p_1.setBackground(Color.pink);// 设置背景颜色 p_1.add(new JButton("按钮-西"),BorderLayout.WEST);// 边界布局,西 p_1.add(new JButton("按钮-东"),BorderLayout.EAST);// 边界布局,东,p_1 p_1.add(new JButton("按钮-北"),BorderLayout.NORTH);// 边界布局,北 p_1.add(new JButton("按钮-南"),BorderLayout.SOUTH);// 边界布局,南 p_1.add(new JButton("按钮-中"),BorderLayout.CENTER);// 边界布局,中 c.add(p_1);// 面板p_1放于容器c中 /* 面板p_2的属性 */ JPanel p_2=new JPanel();// 创建面板 p_2.setLayout(new GridLayout(5,1,20,5));// p_1建立布局,网格布局;行,列,水平间距,竖直间距 // Border(边框),Factory(工厂),create(创造),Titled(标题) p_2.setBorder(BorderFactory.createTitledBorder("面板p_2"));// 面板p_2添加边框 p_2.setBackground(Color.GREEN);// 背景颜色 /* p_2里添加按钮 */ for(int i=0;i


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3