博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小博老师解析Java核心技术 ——JSwing窗体布局
阅读量:6949 次
发布时间:2019-06-27

本文共 2422 字,大约阅读时间需要 8 分钟。

hot3.png

[引言]

我们在学习编程的时候,如果需要开发客户端窗体类型的程序,可以使用JDK中的awt和库。本文开始小博老师就继续为大家演示如何实现Java窗体,达到美化界面的效果。

[步骤阅读一]流水布局FlowLayout

流水布局是Java窗体布局中最基础的布局方式,其布局原则是将所有窗体中控件水平摆放,如果一行宽度不够则会自动换行,并且同一行中的控件水平居中。我们来看一个简单的案例,核心代码如下:

public class LayoutFrame extends JFrame{

public LayoutFrame(){

super("博为峰教育");

setBounds(200, 100, 300, 300);

// 设置窗体布局器(流水布局器)

setLayout(new FlowLayout());

// 循环生成10个按钮控件(非固定指令,仅作布局演示)

for( int i = 1 ; i <= 10 ; i++ ){

// 实例化 按钮控件

JButton bt = new JButton("按  钮");

// 将按钮控件添加到窗体中

add(bt);

}

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

实例化窗体对象,并且运行后效果:

 

[步骤阅读二]边界布局BorderLayout

边界布局是Java窗体中比较特殊的一种布局,以“东南西北中”的形式对窗体控件进行布局,在某些特殊的App如桌面类游戏中运用尤其多,小博老师就不一一列举了,相信小伙伴们都懂的。我们来做一个简单的案例,核心代码如下:

public class LayoutFrame extends JFrame{

public LayoutFrame(){

super("博为峰教育");

setBounds(200, 100, 300, 300);

// 设置窗体布局器(边界布局器)

setLayout(new BorderLayout());

// 生成5个按钮控件,分别占据“东南西北中”五大方位(非固定指令,仅作布局演示)

JButton btEast = new JButton("东");

JButton btSouth = new JButton("南");

JButton btWest = new JButton("西");

JButton btNorth = new JButton("北");

JButton btCenter = new JButton("中");

// 将5个按钮控件分别添加到窗体中

add( btEast,BorderLayout.EAST );

add( btSouth,BorderLayout.SOUTH );

add( btWest,BorderLayout.WEST);

add( btNorth,BorderLayout.NORTH );

add( btCenter,BorderLayout.CENTER);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

实例化窗体对象,并且运行后效果:

[步骤阅读三]网格布局GridLayout

网格布局类似于表格布局,在很多界面布局技术中都有,以行和列的形式对窗体中的控件进行布局。我们来看一个简单的案例,核心代码如下:

public class LayoutFrame extends JFrame{

public LayoutFrame(){

super("博为峰教育");

setBounds(200, 100, 300, 300);

// 设置窗体布局器(网格布局器(行数,列数))

setLayout(new GridLayout(6, 4));

// 循环多个按钮控件(非固定代码,仅作布局演示使用)

for( int i = 1; i <= 24 ; i++ ){

// 实例化 按钮控件对象

JButton bt = new JButton("按  钮");

add(bt);

}

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

实例化窗体对象,并且运行后效果:

[步骤阅读四]定位布局

定位布局是Java窗体界面布局中,使用频度最高的一种布局方式,也是最自由的一种布局方式,但是缺点在于使用起来比较繁琐(需要自己设定坐标位置和宽度高度),而且当窗体受到用户手势操作时(比如窗口最大化,最小化)时,界面布局需要我们自行修改且重绘界面。我们先来看一个简单案例,核心代码如下:

public class LayoutFrame extends JFrame{

public LayoutFrame(){

super("博为峰教育");

setBounds(200, 100, 300, 300);

// 设置窗体布局器(布局器参数传入空对象即表示使用定位布局器)

setLayout( null );

// 实例化 按钮控件对象(非固定代码,仅作界面布局演示)

JButton bt = new JButton("按  钮");

// 使用定位布局的话,每个控件需要自行设置位置和宽高

bt.setBounds(50, 20, 80, 25);

// 将按钮控件添加到窗体中

add(bt);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

实例化窗体对象,并且运行后效果:

 

转载于:https://my.oschina.net/u/2971691/blog/806494

你可能感兴趣的文章
内购审核被拒-[environment-sandbox]
查看>>
点餐系统最终话--第三次冲刺
查看>>
attachEvent和addEventListener
查看>>
vmware中redhat忘记root密码
查看>>
LINUX 配置SVN
查看>>
怎样设计一个好的数据库
查看>>
go源码分析:strings包
查看>>
Min_25筛学习笔记
查看>>
错误分析:程序集未标记为可序列化
查看>>
禅与文件和文件夹组织的艺术 —— 上
查看>>
Linux自带-系统级性能分析工具 — Perf(转)
查看>>
[HNOI2010]物品调度
查看>>
Keras网络层之常用层Core
查看>>
C# 选择文件、选择文件夹、打开文件(或者文件夹) 路径中获取文件全路径、目录、扩展名、文件名称 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名!!...
查看>>
python学习笔记之——文件I/O
查看>>
【双旦献礼】Portal-Basic Java Web 应用开发框架 v3.0.1 正式发布(源码、示例及文档)...
查看>>
quartz.net的使用
查看>>
split-array-largest-sum(参考了discuss)
查看>>
Mybatis,模糊查询语句,以及传参数的正确写法
查看>>
路由器后面再接一个路由器怎么设置(二级路由)
查看>>