swing组件-------面板组件(Jpanel)

面板组件(Jpanel)

为什么有?

基本的三种布局方式不能满足需求!就需要布局管理器的组合使用。如下图的布局

swing组件-------面板组件(Jpanel)_第1张图片

怎么用:一个界面只可以有一个JFrame,但可以有多个Jpanel。而Jpanel可以调用JFrame下的组件(如:JButton)

            即在JFrame的三大分布形式上放置Jpanel,然后在Jpanel上再采用三大分布形式。。。。(不过Jpanel的默认布局是流式布局)

swing组件-------面板组件(Jpanel)_第2张图片

swing组件-------面板组件(Jpanel)_第3张图片

/**
 * @author 司**
 * 功能:Jpanel的使用------混合分部管理器的使用
 * 1、继承JFrame
 * 2、定义需要的组件
 * 3、创建组件(构造函数中较好)
 * 4、添加组件
 * 5、设置窗体属性
 * 6、显示窗体
 */
package com.gui;

import java.awt.BorderLayout;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Demo5 extends JFrame{
	//定义所需组件
	JPanel jPanel1,jPanel2;
	JButton jButton1,jButton2,jButton3,jButton4,jButton5,jButton6;
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Demo5 demo5=new Demo5();
	}
	
	public Demo5(){
		//创建组件
		jPanel1=new JPanel();
		jPanel2=new JPanel();
		
		jButton1=new JButton("西瓜");
		jButton2=new JButton("苹果");
		jButton3=new JButton("荔枝");
		jButton4=new JButton("葡萄");
		jButton5=new JButton("橘子");
		jButton6=new JButton("香蕉");
		
		
		//设置窗口外观属性
		//设置布局(默认为边界布局,采用默认)
		//窗体其他属性
		this.setTitle("网格布局管理器");
		this.setSize(300, 200);
		this.setLocation(100, 200);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setResizable(false);
		
		
		//添加组件
		//添加Jpanel组件.和Jbutton
		this.add(jPanel1, BorderLayout.NORTH);
		this.add(jButton6, BorderLayout.CENTER);
		this.add(jPanel2, BorderLayout.SOUTH);
		//设置Jpanel的布局(默认为流式布局,采用默认)
		//添加按钮组件到jpanel也即Jframe中
		jPanel1.add(jButton1);
		jPanel1.add(jButton2);
		jPanel2.add(jButton3);
		jPanel2.add(jButton4);
		jPanel2.add(jButton5);
		
		//显示
		this.setVisible(true);
		


	}

}
swing组件-------面板组件(Jpanel)_第4张图片



你可能感兴趣的:(java)