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

注意事项

  Ⅰ.JPanel是JComponent的子类

  Ⅱ.属于容器组件,可以加入别的组件

  Ⅲ.默认布局管理器是流式布局(FlowLayout)

1 /*
 2  * 作者:白客C
 3  * 时间:2020年03月05日
 4  * 内容:gui窗体
 5  * 步骤:
 6  *  1.继承JFrame容器
 7  *  2.定义需要的组件
 8  *  3.创建组件
 9  *  4.设置布局管理器
10  *  5.添加组件
11  *  6.对窗体设置
12  *  7.显示窗体
13  */
14 
15 package com.beekc.www;
16 
17 import javax.swing.*;
18 import java.awt.*;
19 
20 //继承JFrame
21 public class Beekc extends JFrame{
22 
23     //定义组件
24     JPanel jp1,jp2;
25     JButton jb1,jb2,jb3,jb4,jb5,jb6;
26 
27     public static void main(String[] args){
28         Beekc beekc = new Beekc();
29     }
30 
31     public Beekc(){
32         //创建组件
33         jp1 = new JPanel();
34         jp2 = new JPanel();
35 
36         jb1 = new JButton("葡萄");
37         jb2 = new JButton("榴莲");
38         jb3 = new JButton("狗肉");
39         jb4 = new JButton("龙虾");
40         jb5 = new JButton("螃蟹");
41         jb6 = new JButton("鱼翅");
42 
43         //布局
44         //添加JPanel
45         jp1.add(jb1);
46         jp1.add(jb2);
47         jp2.add(jb4);
48         jp2.add(jb5);
49         jp2.add(jb6);
50 
51         //添加组件到边界布局BorderLayout
52         this.add(jp1, BorderLayout.NORTH);
53         this.add(jb3,BorderLayout.CENTER);
54         this.add(jp2,BorderLayout.SOUTH);
55 
56         //窗体设置
57         this.setTitle("JPanel组件与布局");
58         this.setSize(300,200);
59         this.setResizable(false);
60         this.setLocation(200,200);
61         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
62 
63         //显示
64         this.setVisible(true);
65 
66     }
67 }

 

运行结果

java 布局 box java jpanel布局_流式布局