我在网上寻找Java流动布局换行的方法,看了好久,也没有找到满意的答案。

FlowLayout是流式布局,所以如果需要让换行有意义,就得锁定窗口的大小,否则随着窗口的伸缩,布局将被彻底打乱。

网上的方法((6条消息) java 流式FlowLayout布局换行方法_大河的博客-CSDN博客_java流式布局怎么换行):

  版权声明:本文为CSDN博主「宁悦」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
  原文链接:https://blog.csdn.net/deramer1/article/details/73135595

对于有一定控件数量的布局来说,这样去手动调整空格的多少显然有点麻烦,于是我在第一种方法上进行了改进。

只需要在继承JPanel的类上写下这个就能在FlowLayout布局上实现相对精细的调整。(传入的参数代表空格的多与少)

1 // 换行
2 private void LineFeed(int num) {
3
4 String emptyString = "";
5
6 for(int i=0; i<num; i++) emptyString += " ";
7
8 this.add(new JLabel(emptyString));
9 }

调用方法,在任意的方法体内调用空格数量,之后再添加控件即可。

this.LineFeed(30); this.add(passJLabel);

当然,我还是更推荐使用BoxLayout(盒布局管理器)的布局方式,实现控件位置的调整。

它可以较为便捷地设置水平或垂直坐标。具体方法可参考:Java Swing布局管理器(详解版) (biancheng.net)

关于JAVA的FlowLayout流动布局的换行问题--图形界面的更多相关文章

  1. 【java】浅析java组件中的布局管理器

    这篇博文笔者介绍一下java组件中,常用的布局管理器.java组件中的布局方式有好几十种,所有的这些布局管理器都实现了java.awt.LayoutManager接口.接下来笔者介绍一下常用的5种布局 ...

  2. Java知多少(84)图形界面之布局设计

    在界面设计中,一个容器要放置许多组件,为了美观,为组件安排在容器中的位置,这就是布局设计.java.awt中定义了多种布局类,每种布局类对应一种布局的策略.常用的有以下布局类: FlowLayout, ...

  3. Bootstrap页面布局3 - BS布局以及流动布局

    1. <h1 class='page-header'>布局<small> 使用bootstrap网格系统布局网页</small></h1> 得到如图所示 ...

  4. 布局(layout)文件图形界面不能显示:An error has occurred. See error log for more details. java.lang.NullPointe

    #问题解析# Android工程中Layout文件夹下的布局文件图形界面无法显示,一般发生这种情况在导入工程操作后极易出现,因为可能eclipse使用的sdk版本不同,target类型不同,所用And ...

  5. (转)Java 的swing.GroupLayout布局管理器的使用方法和实例

    摘自http://www.cnblogs.com/lionden/archive/2012/12/11/grouplayout.html (转)Java 的swing.GroupLayout布局管理器 ...

  6. Java对象的内存布局

    对象的内存布局 平时用java编写程序,你了解java对象的内存布局么? 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域: 对象头 实例数据 对齐填充 对象头 对象头包括两部分信息: ...

  7. Java:bufferedReader.readLine()读取文件换行问题

    代码实现读取到的内容正常换行,并将内容复制到系统剪贴板当中去. public static void ReadAlart() { try { String encoding="utf-8&q ...

  8. Java对象的内存布局以及对象的访问定位

    一 Java对象的内存布局 在HotSpot虚拟机中,对象在内存中的布局分为3个区域 对象头(Header) Mark Word(在32bit和64bit虚拟机上长度分别为32bit和64bit)存储 ...

  9. 3 Java对象的内存布局以及对象的访问定位

    先来看看Java对象在内存中的布局   一 Java对象的内存布局 在HotSpot虚拟机中,对象在内存中的布局分为3个区域 对象头(Header) Mark Word(在32bit和64bit虚拟机 ...

随机推荐

  1. CString,string,char数组的转换

    来源:http://ticktick.blog.51cto.com/823160/317550 //----------------ANSI字符串转换为UNICODE字符串-------------- ...

  2. C#-CHTTPDownload

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  3. XCTF-shrine

    shrine 直接看题 进来给了个python代码 import flask import os app = flask.Flask(__name__) app.config['FLAG'] = os ...

  4. json-lib-2.1-jdk15.jar

    链接:https://pan.baidu.com/s/1VvpCHoTZWJU2l0c6D1MhJg 提取码:jheq http://www.java2s.com/

  5. locustfile中的User类和HttpUser类

    locustfile是什么? locustfile是Locust性能测试工具的用户脚本,描述了单个用户的行为. locustfile是个普通的Python模块,如果写作locustfile.py,那么 ...

  6. VS2017报错 由#define后的分号引发的【“ 应输入“)】

    其实并不是第十行分号出现了问题,而是由于在宏定义后面加了分号,修改成这样即可 一开始竟然没看出来--甚至以为是VS中出现"宏可以转换为constexpr"问题--下次要仔细--

  7. 段间跳转之TSS段

    TR寄存器,TSS描述符,TSS段 TR寄存器与普通的段寄存器一样都有可见部分和不可见部分.TR的可见部分为16位为其段选择子,不可见部分是32位的TSS基地址和16位的大小. TSS描述符存在GDT ...

  8. Duplicate entry '' for key 'PRIMARY'

    今天在在mysql中插入数据 因为直接插入查询出来的表格,insert into 表(student_id,class_id) 直接插入了这两个字段对应的查询出来的表 没有留意到该表的主键没有设置自增 ...

  9. mysql unique key

    create table b1(id int,name char unique)这样name字段就唯一了 或者create table b1(id int,name char,unique(id),u ...

  10. Linux 面试总结

    1. 统计指定目录的文件个数: find / -type f | wc –l 2.Linux 下常用目录 /boot:这个目录是用来存放与系统启动相关的文件/root:root用户的家目录/bin:存 ...