Tablelayout详解

系统 1915 0

 

Java Swing 中的 GridBagLayout 中的布局太复杂,参数很多,不太理解其中的意思,总是布局不出想要的效果。前几天在网上搜到了 tablelayout 布局管理器,发现很简单,很强大。

 

 

下面,我来介绍一下 tablelayout 的用法。

 

首先, tablelayout 不是 JDK 中自带的,需要导入第三方的 jar 包(本文已经给出,见附件)。源码和例子已经在这个 jar 包中了。

使用 tablelayout 现要 import 两个类:

 

    import layout.TableLayout;
import layout.TableLayoutConstraints;

  

 

  TableLayout ,顾名思义,就是表格布局管理器。见下图:

Tablelayout详解

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

表格的行和列都是从 0 开始计算。上图中,左上角的单元格坐标为( 0,0 ),右下角的单元格坐标为( 3,4 )。一个单元格的坐标为(列号,行号)。

 

1.     TableLayout 的行列的分配

一般来说,创建 tablelayout 要先设定行和列。我们定义一个 double 类型的二维数组 size[][]

 

     double size[][] =
            {{100, 0.50, 0.20, TableLayout.FILL, 200, TableLayout.FILL},
             {TableLayout.FILL}};

  

  在上面的代码中, size[0] 中存放的是列的宽度, size[1] 中存放的是行的高度;数组中的整数表示该单元格的宽度或高度为多少像素,小数表示该单元格的宽度或高度为剩余空间的百分之多少, TableLayout.FILL 表示将剩余的空间填满,如果出现多个 TableLayout.FILL ,则这几个单元格平分剩余的空间。假设这个容器有 500 像素宽,则在上面的例子中,第 0 列的宽度为 100 像素,第 1 列宽度为 100 ,第 2 列为( 500-100-200 *0.5=40 ,第 3 列为( 500-100-200 *0.3/2=30 ,第 4 列为 200 ,第 5 列同第 3 列,为 30

 

2.        创建一个 tablelayout

创建 tablelayout 就和其他布局管理器一样了,直接 new 一个 TableLayout

如下:

 

     new TableLayout(size);
  

 

3.        为容器添加组件

 

使用 add 方法, add( 组件,“坐标” ) ,例如给 frame 添加 button

 

    frame.add(button,”0,0”);
  

 

如果这个 button 横跨多个单元格,计算顺序是从左上到右下,则字符串的前两个放第一格的坐标,后两个行最后一格的坐标,例如,从( 0,0 )到( 3,4 ),表示为:

 

    frame.add(button,”0,0,3,4”);
  

 

 

 

好了, tablelayout 就介绍完了,很简单吧。

 

 

 

 

Tablelayout详解


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论