Java布局管理器之插件(一)---JPanel

mac2024-04-18  7

在图形用户界面编程中, 如果只是普通的组件布局, 我们用前面讲的三种布局管理器就可以解决,

但在比较复杂的布局要求时,就需要使用布局管理器的组合使用。

面板组件 (JPanel) JPanel :面板组件,非顶层容器,一个界面只可以有一个 JFrame 窗体组件,但可以有多个JPanel 面板组件 ,

而 JPanel 上也可以使用 FlowLayout 、 BorderLayout 、 GirdLayout 等各 种布局管理器,这样可以组合使用达到较为复杂的布局效果。

 

下面我们举个例子:

/** * JPanel 测试 * 多种布局管理器的使用 */ package com.test1; import java.awt.*; import javax.swing.*; public class Demo8_5 extends JFrame{ //定义小控件 JButton jb1 = null; JButton jb2 = null; JButton jb3 = null; JButton jb4 = null; JButton jb5 = null; JButton jb6 = null; //定义面板 JPanel jp1 = null; JPanel jp2 = null; /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Demo8_5 demo8_5 = new Demo8_5(300, 200); } public Demo8_5(int x_dispSize, int y_dispSize) { //创建小控件 jb1 = new JButton("香蕉"); jb2 = new JButton("橘子"); jb3 = new JButton("橙子"); jb4 = new JButton("榴莲"); jb5 = new JButton("苹果"); jb6 = new JButton("葡萄"); //创建JPanel jp1 = new JPanel(); jp2 = new JPanel(); //添加JButton到JPanel,JPanel默认是流式布局 jp1.add(jb1); jp1.add(jb2); jp1.add(jb3); jp2.add(jb4); jp2.add(jb5); //把JPanel添加到主窗体 this.add(jp1, BorderLayout.NORTH); this.add(jb6, BorderLayout.CENTER); this.add(jp2, BorderLayout.SOUTH); //设置窗体标题 this.setTitle("JPanel测试"); //设置窗体大小 this.setSize(x_dispSize, y_dispSize); //设置窗体显示位置 this.setLocation(500, 500); //设置关闭窗体时,关闭JVM this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置窗体不可更改大小 this.setResizable(false); //设置窗体可见 this.setVisible(true); } }

显示出来的效果如下:

 

注意事项 1、 JPanel 是 JComponent 的子类; 2、属于容器类组件,可以加入别的组件; 3、默认布局管理器是流式布局 (FlowLayout)  

最新回复(0)