首页 > 其他分享 >JGoodies Usage Notes

JGoodies Usage Notes

时间:2023-10-24 14:47:57浏览次数:42  
标签:表示 填充 可用 Notes pref JGoodies Usage grow fill

导包、设置

导入包:

<dependency>
    <groupId>com.jgoodies</groupId>
    <artifactId>forms</artifactId>
    <version>1.2.1</version>
</dependency>

idea里面布局切换一下:

行列规范解释

他是一个类似表格布局方式,你先设计好一个大的表格背景,然后将你想要的组件放置到指定表格里即可。然后再通过代码设置每个表格内的样式,使用逗号分割。

主要两个大类:

  • 列 column
  • 行 row

行列里面在细分:

  • 列 column
    列_1, 列_2, 列_3 ...
  • 行 row
    行_1, 行_2, 行_3 ...

如果你在 Xxx.form页面里设置的是一列二行,那么下面的columnSpecs , rowSpecs 就必须严格对应,否则报错。

String columnSpecs = "pref";
String rowSpecs = "4dlu, pref";

// 使用 FormLayout 布局
FormLayout layout = new FormLayout(
        columnSpecs,
        rowSpecs
);

标识含义说明:
"pref":表示列的宽度会适应其最佳首选大小,即根据内容自动调整大小。
"min(pref, value)":表示列的宽度会适应其最佳首选大小,但不会小于指定的值。如果内容较小,则列会扩展到指定的最小值。
"max(pref, value)":表示列的宽度会适应其最佳首选大小,但不会大于指定的值。如果内容较大,则列会收缩到指定的最大值。
"fill":表示列宽度会填充可用的空间,平均分配给所有的填充列。
"fill:pref":表示列宽度会填充可用的空间,并且额外的空间按照列的最佳首选大小进行分配。
"grow":表示列会根据容器的可用空间进行扩展,以填充所有可用的空间。
"grow(value)":表示列会根据容器的可用空间进行扩展,但不会超过指定的值。
dlu 表示dialog units , 比如3dlu, 7dlu...

对于列规范,每个字符表示一个列。常见的简写字符包括:
"p":表示首选大小(preferred size)的列。
"m":表示最小大小(minimum size)的列。
"f":表示填充(fill)列,会填充可用的空间。
"g":表示增长(grow)列,会根据可用空间进行扩展。
"d":表示对话框单位(dialog units)大小的列。

对于行规范,也是类似的情况,每个字符表示一个行,并具有相同的含义:
"p":表示首选大小(preferred size)的行。
"m":表示最小大小(minimum size)的行。
"f":表示填充(fill)行,会填充可用的空间。
"g":表示增长(grow)行,会根据可用空间进行扩展。
"d":表示对话框单位(dialog units)大小的行。

每个格又可以嵌套:

  • 逗号内的每个参数都由三个部分组成:对齐方式:固定尺寸:调整方式
  • 当然也可以不按照 x:x:x 来写。 如果你只写一个,系统就会使用默认值。

对齐方式:

  • 列对齐有:left, center, right, fill(其中fill表示填充至整个区域)
    行的默认对齐方式是center;

  • 行对齐有:top, center, bottom, fill;
    列的默认对齐方式是fill,

固定尺寸:

  • pref——表示"首选大小"(Preferred Size)指的是组件在没有约束条件的情况下所希望具有的大小;
  • min 表示minimum size;
  • dlu 表示dialog units;
  • px —— Pixel;
  • pt —— Points;
  • in —— Inches ;
  • mm —— Millimeter;
  • cm —— Centimeter;
  • ...

调整方式:

  • 如:left:pref:grow
    "grow" 表示列会根据容器的可用空间进行扩展(其内容将增长到列最大的宽度为止),以填充所有可用的空间。
    • grow可以简写成g
  • "grow(value)":表示列会根据容器的可用空间进行扩展,但不会超过指定的值
  • grow还可以这样写 grow(0.5),括号内是一个double型数字,当没有后面括号时默认为grow(1.0)。
  • 当然也有与grow相反的,如:none、nogrow、n。

组件加入表格布局:

builder.add(component1).xy(1, 1); // 将 component1 添加到第一行第一列
panel.add(new JScrollPane(textArea1), cc.xy(1, 2)); // 将 textArea1 添加到第二行第一列

Reference

swing的jgoodies FormLayout
https://www.cnblogs.com/daichangya/archive/2013/04/11/12959890.html

标签:表示,填充,可用,Notes,pref,JGoodies,Usage,grow,fill
From: https://www.cnblogs.com/mysticbinary/p/17784750.html

相关文章

  • flex and bison usage in mysql
    queryparsinginmysqlmysqlsourcecodeversion:8.0.34(fromMYSQL_VERSIONfile)Thisanarticlefromquestionstounderstandings.whichfiledoesmysqlusetodefinesqlgrammar?sql/sql_yacc.yywhatisthenameyyparsereplacedwithinmysql?Sear......
  • Burp Suite Extend APIs Notes
    Brup插件的开发,大体流程就是通过在自己创建的BurpExtender类上实现不同功能接口。所以,你想要开发出什么功能,就去找一下Burp上能提供什么接口,然后实现这个接口所需的方法即可。想要快速的开发的Burp插件、了解一下它的APIs是有必要的。下面我将梳理一下它提供出来的APIs。todoA......
  • 802.11ax协议notes
    不论上行MUMIMO(HETBPPDU)还是下行MUMIMO(HEMUPPDU),HE-LTF符号数都是由所有用户的总流数决定的。因此对于AP,上行无异于一个大的SUMIMO;下行,协议建议每个STA用上所有用户的信道信息来减少干扰。  HE-LTF模式:单流导频模式、多流导频模式(masked)、无导频模式  HETB格式除......
  • : Only one usage of each socket address (protocol/network address/port) is norma
    2023/10/1619:07:45tick2023/10/1619:07:46dialtcp7.11.12.26:3309:connectex:Onlyoneusageofeachsocketaddress(protocol/networkaddress/port)isnormallypermitted.panic:runtimeerror:invalidmemoryaddressornilpointerdereference[signal0xc......
  • PythonNotes_Basic1
    基本数据类型标准数据类型常见数据类型:Number(数字)String(字符串)bool(布尔类型)List(列表)Tuple(元组)Set(集合)Dictionary(字典)六个标准数据类型中:不可变数据(3个):Number(数字)、String(字符串)、Tuple(元组);可变数据(3个):List(列表)、Set(集合)、Dict......
  • PythonNotes_Basic
    Python3基础目录1基本数据类型2数据类型转换3算术运算符4条件控制5条件控制6条件控制......
  • notes-at-the-autumnal-equinox
    秋分小记Created:2023-09-26T09:17+08:00Published:2023-10-08T19:41+08:00Categories:FragmentTags:Diary目录秋天的树如果你冷SayGoodbye如此爱你姊妹日记一则(有删改)你们能做得比StableDiffusion更好吗?月亮的歌催婚?野鸭和喜鹊积雨云后知后觉秋天的树很感动还有那......
  • 什么是企业级管理软件的 Release Notes
    企业级软件的ReleaseNote详解在现代商业环境中,企业级软件已经成为了组织中不可或缺的一部分。这些软件系统通常被用来管理各种业务流程,从客户关系管理到供应链管理,再到财务和人力资源管理。随着软件的不断发展和更新,确保企业级软件的正常运行变得至关重要。为了帮助用户了解每......
  • COMP3322 notes P1 - Internet & WWW Basic
    选这门课完全是为了推进我博客美化的大业!希望学完之后updatelogs里的一部分issues能自己亲手解决。首先来到InternetandWWWbasic:这些基本的network知识对接下来的front-endframework学习大有裨益。Internet,Web,DNS,HTTP等「最熟悉的陌生人」在这一节得以祛......
  • COMP3322 notes P2 - HTML Basic
    用课程上介绍的HTMLvalidation网站W3CMarkupValidator检查了一下本站HTML文件的正确性,结果弹出了57个Error与Warning。我在魔改的时候到底做了些什么啊……不过从这也能看出HTML语言的permissive性质;宽松的语法与browser也是Web长盛不衰的原因之一。{%n......