第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > java:面板JPanel的使用

java:面板JPanel的使用

时间:2022-04-08 00:56:56

相关推荐

java:面板JPanel的使用

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分成多个区域,然后对各个区域分别进行构件、排布、尺寸等各属性的设计。

四、源码

(一)、源码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();// 新建窗体fContainer 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();// 新建窗体fContainer 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_1p_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_1p_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<9;i++){p_2.add(new JButton("按钮"+i));}c.add(p_2);// 面板p_2放于容器中/*面板p_3的属性*/JPanel p_3=new JPanel();// 创建面板p_3.setLayout(new FlowLayout());// p_3建立布局,流布局,需要在前面添加import java.awt.FlowLayout;// Border(边框),Factory(工厂),create(创造),Titled(标题)p_3.setBorder(BorderFactory.createTitledBorder("面板p_3"));// 面板p_3添加边框p_3.setBackground(Color.YELLOW);// 背景颜色/*p_3里添加按钮*/for(int i_2=0;i_2<9;i_2++){p_3.add(new JButton("按钮"+i_2));}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);// 背景颜色p_4.setLayout(null);// 绝对布局JButton b_4=new JButton("按钮p_4");// 创建按钮b_4.setBounds(20,40,300,200);// 坐标,尺寸p_4.add(b_4);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);// 窗体可见}}

(四)、源码B的运行效果

五、定位日期

.3.23;19:31

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。