JavaSwing FlowLayout 流式布局的实现

作者:xietansheng 时间:2023-10-02 03:59:41 

1. 概述

官方JavaDocsApi: java.awt.FlowLayout

FlowLayout,流式布局管理器。按水平方向依次排列放置组件,排满一行,换下一行继续排列。排列方向(左到右 或 右到左)取决于容器的componentOrientation属性(该属性属于Component),它可能的值如下:

  • ComponentOrientation.LEFT_TO_RIGHT(默认)

  • ComponentOrientation.RIGHT_TO_LEFT

同一行(水平方向)的组件的对齐方式由 FlowLayout 的align属性确定,它可能的值如下:

  • FlowLayout.LEFT : 左对齐

  • FlowLayout.CENTER : 居中对齐(默认)

  • FlowLayout.RIGHT : 右对齐

  • FlowLayout.LEADING : 与容器方向的开始边对齐,例如,对于从左到右的方向,则与左边对齐

  • FlowLayout.TRAILING : 与容器方向的结束边对齐,例如,对于从左到右的方向,则与右边对齐。

FlowLayout的 构造方法:


// 默认 居中对齐的,水平和垂直间隙是 5 个单位
FlowLayout()

// 指定对齐方式,默认的水平和垂直间隙是 5 个单位
FlowLayout(int align)

// 指定对其方式,水平 和 竖直 间隙
FlowLayout(int align, int hgap, int vgap)

2. 代码实例


package com.xiets.swing;

import javax.swing.*;
import java.awt.*;

public class Main {

public static void main(String[] args) {
   JFrame jf = new JFrame("测试窗口");
   jf.setSize(200, 250);
   jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
   jf.setLocationRelativeTo(null);

// 创建内容面板,指定使用 流式布局
   JPanel panel = new JPanel(new FlowLayout());

JButton btn01 = new JButton("按钮01");
   JButton btn02 = new JButton("按钮02");
   JButton btn03 = new JButton("按钮03");
   JButton btn04 = new JButton("按钮04");
   JButton btn05 = new JButton("按钮05");

panel.add(btn01);
   panel.add(btn02);
   panel.add(btn03);
   panel.add(btn04);
   panel.add(btn05);

jf.setContentPane(panel);
   jf.setVisible(true);    // PS: 最后再设置为可显示(绘制), 所有添加的组件才会显示
 }

}

结果展示:

JavaSwing FlowLayout 流式布局的实现

来源:https://blog.csdn.net/xietansheng/article/details/72814541

标签:Java,Swing,FlowLayout,流式布局
0
投稿

猜你喜欢

  • Unity Shader实现线框效果的制作步骤

    2023-10-10 06:14:54
  • C#实现控制电脑注销,关机和重启

    2021-10-28 14:21:15
  • Android实现图片反转、翻转、旋转、放大和缩小

    2022-07-04 20:15:34
  • springcloud中RabbitMQ死信队列与延迟交换机实现方法

    2023-05-04 04:25:54
  • Feign调用中的两种Header传参方式小结

    2022-10-25 02:47:17
  • android读取Assets图片资源保存到SD卡实例

    2022-12-18 19:50:24
  • Java扩展库RxJava的基本结构与适用场景小结

    2022-12-27 10:03:15
  • Android Studio 中获取屏幕宽度实例

    2022-03-25 11:55:36
  • 使用Spring Boot AOP处理方法的入参和返回值

    2022-03-02 07:25:41
  • Android.bp语法和使用方法讲解

    2022-09-29 19:31:19
  • 详解C#用new和override来实现抽象类的重写区别

    2022-12-02 01:50:51
  • SpringBoot+WebSocket实现多人在线聊天案例实例

    2022-08-22 11:53:08
  • Java动态 代理和AOP应用示例

    2023-11-26 07:45:02
  • Android实现给TableLayou绘制边框的方法

    2021-08-04 02:08:41
  • C#9新特性之增强的模式匹配

    2023-04-16 07:35:34
  • android调用国家气象局天气预报接口json数据格式解释

    2022-09-16 21:08:24
  • 使用linq to xml修改app.config示例(linq读取xml)

    2022-11-22 22:01:28
  • SpringBoot中Dozer的使用小结

    2023-11-25 01:24:38
  • Android实现文字上下滚动效果

    2023-02-02 07:40:00
  • Java后端Cookie实现(时间戳)代码实例

    2022-05-17 09:39:52
  • asp之家 软件编程 m.aspxhome.com