Java中FlowLayout,GridLayout和BorderLayout详解

一、流程布局(FlowLayout)

顾名思义, FlowLayout是一种布局,它允许组件流到可见部分的末端。 FlowLayout基本上有助于开发响应速度更快的UI,并使组件保持自由流动的方式。 下图显示了具有6个组件的实际流布局。

由于这是框架或面板的默认布局,因此也可以在不显式应用布局的情况下工作。

import java.awt.Button;
import java.awt.FlowLayout;
import javax.swing.JFrame;public class FlowLayoutExample extends JFrame {public static void main(String[] args) {FlowLayoutExample a = new FlowLayoutExample();}public FlowLayoutExample() {setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);FlowLayout g = new FlowLayout();setLayout(g);setTitle("Flow Layout");setSize(300, 300);add(new Button("Button 1"));add(new Button("Button 2"));add(new Button("Button 3"));add(new Button("Button 4"));add(new Button("Button 5"));add(new Button("Button 6"));}
}

运行结果:

二、网格布局(GridLayout)

GridLayout是排列组件的一种更有组织的方式。 它以包含均匀分布的单元格的网格形式划分框架或面板。 每个组件都添加到特定的单元格中。 组件的放置顺序直接取决于将它们添加到框架或面板的顺序。 下图显示了基于2列3行GridLayout的Frame。

构造函数GridLayout(int row,int cols)确定网格大小。

import java.awt.Button;
import java.awt.GridLayout;
import javax.swing.JFrame;public class GridLayoutExample extends JFrame {public static void main(String[] args) {GridLayoutExample a = new GridLayoutExample();}public GridLayoutExample() {setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);GridLayout g = new GridLayout(3, 2);setLayout(g);setTitle("Grid Layout");setSize(300, 300);add(new Button("Button 1"));add(new Button("Button 2"));add(new Button("Button 3"));add(new Button("Button 4"));add(new Button("Button 5"));add(new Button("Button 6"));}}

运行结果:

三、边框布局(BorderLayout)

BorderLayout是一种按照方向组织组件的布局。 边框布局将框架或面板分为5个部分-北,南,东,西和居中。 通过传递附加参数,可以将每个组件按特定方向排列

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Label;
import javax.swing.JFrame;public class BorderLayoutExample extends JFrame {public static void main(String[] args) {BorderLayoutExample a = new BorderLayoutExample();}public BorderLayoutExample() {setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);BorderLayout b = new BorderLayout();setTitle("Border Layout");setSize(300, 300);add(new Button("North"), BorderLayout.NORTH);add(new Button("South"), BorderLayout.SOUTH);add(new Button("East"), BorderLayout.EAST);add(new Button("West"), BorderLayout.WEST);add(new Button("Center"), BorderLayout.CENTER);}
}

运行结果:

运行结果:

Java中三种常用布局方式相关推荐

  1. java中的异常处理代码,java_深入剖析Java中的各种异常处理方式,1. 调试追踪代码:public s - phpStudy...

    深入剖析Java中的各种异常处理方式 1. 调试追踪代码: public static void enterTryMethod() { System.out.println("enter a ...

  2. opengl中的Floatbuffer和IntBuffer与java中数据的存储方式不同的解决方法,编辑一个自己的BufferUtil工具类

    opengl中的Floatbuffer和IntBuffer与java中数据的存储方式不同的解决方法,编辑一个自己的BufferUtil工具类 参考文章: (1)opengl中的Floatbuffer和 ...

  3. JS 和 Java 中URL特殊字符编码方式

    前几天遇到url特殊字符编码的问题,在这里整理一下: JavaScript 1.  编码 escape(String) 其中某些字符被替换成了十六进制的转义序列. 解码 unescape(String ...

  4. 表单设计中标签的布局方式有哪些

    表单设计的标签本质上是一个与用户对话的起点,了解表单设计的标签的设置规则后,需要关注标签的布局方式,因为网页表单设计是影响用户如何回答问题的关键.表单设计标签的布局方式主要包含三种,测试数据展示,用户 ...

  5. java数组初始化的方式,java中初始化数组的方式有几种

    java中初始化数组的方式有几种 发布时间:2020-06-01 16:12:45 来源:亿速云 阅读:153 作者:鸽子 三种初始化方式: 1.静态初始化:创建+赋值 2.动态初始化:先创建再赋值 ...

  6. java中常见跳出循环的方式总结

    java中常见跳出循环的方式一般有两种,一种是常用的break,continue,return方式:另一种是循环标记的方式. 方式一:break,continue,return方式 案例: break ...

  7. 关于Java中的Map遍历方式比较

    最近在看阿里巴巴最新版的Java开发手册,里面的内容还是很值得去阅读学习,下面是我对Java中Map的遍历方式的比较和总结: 第一种:使用entrySet()的形式来遍历,也是效率高,推荐使用的一种遍 ...

  8. java怎么设置卡片布局_在Java中使用卡片布局管理器的方法

    在Java中使用卡片布局管理器的方法 发布时间:2020-12-03 16:05:18 来源:亿速云 阅读:85 作者:Leah 在Java中使用卡片布局管理器的方法?针对这个问题,这篇文章详细介绍了 ...

  9. java中的Map遍历方式总结

    java中的Map遍历方式总结 import java.util.HashMap; import java.util.Iterator; import java.util.Map;public cla ...

最新文章

  1. iOS UITableViewCell重用问题
  2. windwos-sshfs
  3. Nginx隐藏PHP入口文件index.php
  4. 2017\National _C_C++_C\1.哥德巴赫分解
  5. Ubuntu 12/14 个性化配置
  6. 【Python3网络爬虫开发实战】1.3.4-tesserocr的安装
  7. 关于tensorflow2.0的弊端
  8. Vcenter6.5 Administrator账户密码忘记或者过期无法登陆解决办法
  9. 2021年6月20日 是第111个父亲节,祝福所有的父亲节日快乐
  10. C++基础::文件流(二)
  11. C++ array vector 数组
  12. mybatis输出SQL格式化
  13. 小米air2se耳机只有一边有声音怎么办_别光盯着AirPods,这些无线蓝牙耳机,其实也很好用...
  14. 高效记忆/形象记忆(05)110数字编码表 0-9
  15. Android 圆形头像 带阴影 带边界 完整代码
  16. 什么是android应用程序未安装,显示“应用程序未安装”是怎么回事?程序未安装的解决图文步骤...
  17. JAVA 根据身份证获取年龄
  18. 迅为i.MX6ULL终结者进程基础-进程创建
  19. linux--shell--crontab定义运行任务
  20. matlab sim函数和simset函数的用法

热门文章

  1. 更改checkbox的默认样式
  2. 自学前端第二十六天:flex弹性盒子
  3. 异步fifo的设计与验证
  4. Linux 权限管理基础
  5. Spring爸爸又给Spring MVC生了个弟弟叫Spring WebFlux
  6. 获取指定日期的第二天的凌晨时间 和获取指定时间+获取指定的天数的日期
  7. openslide初印象———— 常用函数介绍
  8. 天津.NET俱乐部 微软Windows 7 社区发布邀请
  9. 基于java GUI编写的身份证查询小工具
  10. Skia OpenGL Texture Helloworld