JavaGUI常用三种布局使用介绍
作者:头秃小程 发布时间:2023-05-19 08:01:06
1.流布局FlowLayout
所有组件像流一样,一个一个排放,排满了一行之后排下一行,默认情况下,每个组件是居中排列的,但是也可以设置。
流布局的构造方法:
new FlowLayout();
new FlowLayout(int aligment);//设置对齐方式(默认为FlowLayout.CENTER居中),我们一般改为FlowLayout.LEFT
new FlowLayout(int aligment,int horizGap,int vertGap);//设置对齐方式+上下偏移
aligment取值:
FlowLayout.LEFT = 0
FlowLayout.CENTER = 1
FlowLayout.RIGHT = 2
通过setLayout函数来设置布局
例如:jf.setLayout(new FlowLayout(FlowLayout.LEFT));
2.边界布局BorderLayout
边界布局是默认的布局管理方式,边界布局将容器分为了东(BorderLayout.EAST)、西(BorderLayout.WEST)、南(BorderLayout.SOUTH)、北(BorderLayout.NORTH)、中(BorderLayout.CENTER)5个区域
在new的时候指定内容
在给JFrame容器add组件的时候,指定边界
示例:
import javax.swing.*;
import java.awt.*;
public class Borderlayout{
public static void main(String[] args) {
JFrame jf = new JFrame();
jf.setLayout(new BorderLayout());
JButton east = new JButton("east");
JButton west = new JButton("west");
JButton south = new JButton("south");
JButton north = new JButton("north");
JButton center = new JButton("center");
jf.add(east,BorderLayout.EAST);
jf.add(west,BorderLayout.WEST);
jf.add(south,BorderLayout.SOUTH);
jf.add(north,BorderLayout.NORTH);
jf.add(center,BorderLayout.CENTER);
jf.setSize(200,200);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
3.网格布局管理器GridLayout
网格布局是将容器划分为网格,所有的组件都按照行数和列数决定。每个组件会填满空格,改变容器的大小,组件的大小也会随之改变
构造方法:
GridLayout(int rows,int columns);//指定行数+列数
GridLayout(int rows,int columns,int horizGap,int vertGap);//指定行数+列数+水平间隔+垂直间隔
来源:https://blog.csdn.net/Maruko_428/article/details/127510608


猜你喜欢
- 简单工厂模式的概念就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创
- 大家好,今天尝试用swing技术写一个贪吃蛇大作战小游戏,供大家参考。 效果展示效果展示一、游戏界面二、得分情况&nb
- 使用线程池的好处1、降低资源消耗可以重复利用已创建的线程降低线程创建和销毁造成的消耗。2、提高响应速度当任务到达时,任务可以不需要等到线程创
- 本文实例为大家分享了C#添加PDF文件水印的具体代码,供大家参考,具体内容如下using System;using System.Colle
- 什么是Pub-Sub发布订阅是一种设计模式,它允许应用程序组件之间进行松散耦合。其实订阅发布设计中主要是发布者生成事件通道,用于在不了解任何
- 前言基于安卓平台的连续滚动图像组件ContinuousScrollableImageView(https://github.com/Cutt
- 实践过程效果代码public partial class Form1 : Form{ public Form1()
- 在c#中怎样调用VC写的OCX控件,主要有两个关键环节两个关键环节:导入ocx控件,创建实例。1 注册ocx:regsvr32.exe al
- 通常的函数调用 一个通常的函数调用的例子://自行包含头文件void MyFun(int x); //此
- 最近在做wifi的相关的东西,打印WifiInfo的时候 无意间发现一个参数,改参数可以查看是否连接成功了指定wifi,但是这是隐藏的,遂将
- 新建一个txt的文本(代码中读取这个文本文档路径就行,命名随意)里面的内容一行代表一个,因为我是按行来遍历循环读取要屏蔽的关键字.然后用一个
- 目录场景介绍自动填充处理器Mybatis-Plus配置类配置实体类中相关字段的自动填充策略在阿里开发手册的建表规约中有说明,数据库表中应该都
- 前言CMake是一个跨平台的安装编译工具,可以用简单的语句来描述所有平台的安装(编译过程)。CMake可以说已经成为大部分C++开源项目标配
- Java(和其他语言)通过内部类支持嵌套类。要使其正常工作,需要编译器执行一些技巧。这是一个例子:public class Outer {
- 一、 * 与过滤器在讲Spring boot之前,我们先了解一下过滤器和 * 。这两者在功能方面很类似,但是在具体技术实现方面,差距还是比较
- 目录一、Lambda 表达式简介1、什么是 Lambda 表达式2、为什么需要 Lambda 表达式二、函数式接口和定义1、什么是函数式接口
- 从相册或拍照更换图片功能的实现:(取图无裁剪功能)获取图片方式: (类似更换头像的效果)1、手机拍照 选择图片;2、相册选取图片;本文只是简
- SpringMVC RESTFul访问首页实现一、新建 index.html在 webapp\WEB-INF\templates 下新建首页
- 前言Promoted Actions是指一种操作按钮,它不是放在actionbar中,而是直接在可见的UI布局中(当然这里的UI指的是set
- Controller如何进行重定向Spring MVC中进行重定向本人知道的有两种方式方法返回的URI(相对路径)中加上"redi