Swing布局管理器
Posted 豆子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swing布局管理器相关的知识,希望对你有一定的参考价值。
package cn.Douzi.Graphics;
import java.awt.*;
import javax.swing.*;
/**
* BorderLayout 演示
* 1. 继承JFrame
* 2. 定义你需要的各个组件
* 3. 创建组件(构造函数)
* @author Douzi
*
*/
public class Demo_layout extends JFrame {
//定义组件
JButton jb1, jb2, jb3, jb4, jb5;
public static void main(String[] args) {
Demo_layout test1 = new Demo_layout();
}
public Demo_layout()
{
//创建组件
jb1 = new JButton("东部");
jb2 = new JButton("北部");
jb3 = new JButton("中部");
jb4 = new JButton("南部");
jb5 = new JButton("西部");
//添加各个组件
/**
* 1.不用添加所有组件
* 2.中部布件会自动调节大小
*/
this.add(jb1, BorderLayout.EAST);
this.add(jb2, BorderLayout.NORTH);
this.add(jb3, BorderLayout.CENTER);
this.add(jb4, BorderLayout.SOUTH);
this.add(jb5, BorderLayout.WEST);
//设置窗体属性
this.setTitle("边界布局案例");
this.setSize(300, 300);
this.setLocation(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
package cn.Douzi.Graphics;
import java.awt.*;
import javax.swing.*;
public class Demo_FlowLayout extends JFrame {
JButton jb1, jb2, jb3, jb4, jb5, jb6;
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo_FlowLayout test = new Demo_FlowLayout();
}
public Demo_FlowLayout()
{
//创建组件
jb1 = new JButton("关羽");
jb2 = new JButton("张飞");
jb3 = new JButton("赵云");
jb4 = new JButton("黄忠");
jb5 = new JButton("马超");
jb6 = new JButton("魏延");
//添加组件
this.add(jb1);
this.add(jb2);
this.add(jb3);
this.add(jb4);
this.add(jb5);
this.add(jb6);
//设置布局管理器
//默认居中对齐
this.setLayout(new FlowLayout(FlowLayout.LEFT));
//设置窗体属性
this.setTitle("边界布局案例");
this.setSize(300, 300);
this.setLocation(300, 300);
//禁止让窗口缩放
this.setResizable(false);
//关闭时,退出
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
package cn.Douzi.Graphics;
import java.awt.*;
import javax.swing.*;
/**
* 网格布局
* 组件的相对位置,不随容器缩放而变化
* 所有组件的大小相同
* 可以通过 GridLayout(int rows, int cols, int hgap, int vgap)
* 指定网格的行/列, 水平间隙/垂直间隙
* @author Douzi
*/
/**
* 开发GUI程序步骤
* 继承JFrame
* 定义需要的组件
* 创建组件
* 设置布局管理器
* 添加组件
* 显示窗体
*/
public class Demo_GridLayout extends JFrame {
int size = 9;
JButton jbs[] = new JButton[size];
public Demo_GridLayout() {
for (int i = 0; i < size; i++) {
jbs[i] = new JButton(String.valueOf(i));
}
//设置网格布局
this.setLayout(new GridLayout(3, 3, 10, 10));
//添加组件
for (int i = 0; i < size; i++) {
this.add(jbs[i]);
}
//设置窗体属性
this.setTitle("网格布局案例");
this.setSize(300, 300);
//关闭则关闭
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(300, 300);
//禁止改变大小
this.setResizable(false);
//显示
this.setVisible(true);
}
public static void main(String[] args) {
Demo_GridLayout grid = new Demo_GridLayout();
}
}
以上是关于Swing布局管理器的主要内容,如果未能解决你的问题,请参考以下文章
Java学习笔记7.1.2 初探Swing世界 - 布局管理器