`

复杂的GridBagLayout

    博客分类:
  • java
阅读更多
今天终于耐着性子弄懂了GridBagLayout是怎么使用的。
构造函数:
    GirdBagLayout()建立一个新的GridBagLayout管理器。
    GridBagConstraints()建立一个新的GridBagConstraints对象。
    GridBagConstraints(int gridx,int gridy,
                                   int gridwidth,int gridheight,
                                   double weightx,double weighty,
                                   int anchor,int fill, Insets insets,
                                   int ipadx,int ipady)建立一个新的GridBagConstraints对象,并指定其参数的值。
看着这一堆的参数就快烦死了,下面就了解一下参数的意思:

参数说明:
gridx,gridy    ——    设置组件的位置,
                   gridx设置为GridBagConstraints.RELATIVE代表此组件位于之前所加入组件的右边。
                   gridy设置为GridBagConstraints.RELATIVE代表此组件位于以前所加入组件的下面。
                  建议定义出gridx,gridy的位置以便以后维护程序。gridx=0,gridy=0时放在0行0列。

gridwidth,gridheight    ——    用来设置组件所占的单位长度与高度,默认值皆为1。
                 你可以使用GridBagConstraints.REMAINDER常量,代表此组件为此行或此列的最后一个组件,而且会占据所有剩余的空间。

weightx,weighty    ——    用来设置窗口变大时,各组件跟着变大的比例。
                当数字越大,表示组件能得到更多的空间,默认值皆为0。

anchor    ——    当组件空间大于组件本身时,要将组件置于何处。
               有CENTER(默认值)、NORTH、NORTHEAST、EAST、SOUTHEAST、WEST、NORTHWEST选择。

insets    ——    设置组件之间彼此的间距。
              它有四个参数,分别是上,左,下,右,默认为(0,0,0,0)。

ipadx,ipady    ——    设置组件间距,默认值为0。

GridBagLayout里的各种设置都必须通过GridBagConstraints,因此当我们将GridBagConstraints的参数都设置
好了之后,必须new一个GridBagConstraints的对象出来,以便GridBagLayout使用。

代码片断:
       JButton b;
      GridBagConstraints c;
      int gridx,gridy,gridwidth,gridheight,anchor,fill,ipadx,ipady;
      double weightx,weighty;
      Insets inset;
     
      JFrame f=new JFrame();
     
      GridBagLayout gridbag=new GridBagLayout();
      Container contentPane=f.getContentPane();
      contentPane.setLayout(gridbag);
       
        b=new JButton("first");
        gridx=0;
        gridy=0;
        gridwidth=1;
        gridheight=1;
        weightx=10;
        weighty=1;
        anchor=GridBagConstraints.CENTER;
        fill=GridBagConstraints.HORIZONTAL;
        inset=new Insets(0,0,0,0);
        ipadx=0;
        ipady=0;
        c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
        gridbag.setConstraints(b,c);
        contentPane.add(b);


GridBagLayout这种管理器是十分灵活的,只不过他写起来比较麻烦,不过用了之后才发现他对界面的部署帮助很大。



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dracularking/archive/2008/04/22/2314336.aspx
分享到:
评论

相关推荐

    Java中GridBagLayout的用法

    - **复杂性**:由于提供了更多的控制选项,GridBagLayout相对于其他布局管理器来说更为复杂。 - **自适应性**:能够随着容器大小的变化而自动调整组件的位置和大小。 #### 三、GridBagConstraints类详解 ...

    网袋布局管理器--GridBagLayout使用介绍

    由于其灵活性,`GridBagLayout`成为创建复杂、自定义布局的理想选择,但它的确比其他布局管理器更复杂。下面我们将深入探讨`GridBagLayout`的使用方法和关键特性。 `GridBagLayout`的构造函数很简单,只有一个无...

    GridBagLayout布局详解

    GridBagLayout 布局详解 GridBagLayout 是 Java Swing 编程中的一种强大且灵活的布局管理器,它...通过设置 GridBagConstraints 对象的参数,可以控制组件在显示区域中的位置、大小和填充方式,从而实现复杂的布局。

    GridBagLayout && JTable 排序

    `GridBagLayout`的工作原理是通过`GridBagConstraints`对象来设置每个组件的约束条件,包括网格的位置、大小、权重等,从而实现复杂的布局设计。开发者可以利用它来创建自定义的界面布局,使其具有良好的灵活性和可...

    java网格包GridBagLayout布局管理器专题

    GridBagLayout的复杂性在于需要精心调整GridBagConstraints对象的参数以实现理想的布局效果。然而,它的灵活性使得它在创建复杂、动态或者自适应布局时非常有用。理解和熟练掌握GridBagLayout,可以帮助开发者构建出...

    Java中GridBagLayout管理器实例.pdf

    与其他布局管理器不同,`GridBagLayout`提供了更大的灵活性,使得开发者能够创建复杂的界面布局。以下是关于`GridBagLayout`的一些详细知识点: 1. **GridBagLayout的构造方法**: - `GridBagLayout()`:这是`...

    matlab开发-GridBagLayout

    在MATLAB开发过程中,`GridBagLayout`可以提供更复杂和精细的界面设计,特别是在处理不同大小和数量的组件时。 `eGridBagLayout.m`和`eScrollableGridBagLayout.m`是两个核心的MATLAB脚本或类文件。`eGridBagLayout...

    matlab开发-GridBagLayout.zip

    GridBagLayout是Java Swing布局管理器之一,但MATLAB的 GUIDE工具(GUI Development Environment)同样支持它,使得我们可以利用GridBagLayout来创建复杂且灵活的布局。GridBagLayout允许在GUI窗口中动态地排列组件...

    java网格包GridBagLayout布局管理器专题借鉴.pdf

    Java中的GridBagLayout布局管理器是Java Swing中最复杂但也是最灵活的布局管理工具,它允许容器中的组件具有不同的大小,可以跨越多个网格,并且组件之间可以部分重叠。理解GridBagLayout的关键在于掌握它的网格单元...

    java网格包GridBagLayout布局管理器专题的分析.pdf

    Java中的GridBagLayout布局管理器是Java Swing中最复杂但也是最灵活的布局管理工具,它允许组件在容器中以不同的大小存在,甚至可以跨多个网格并部分重叠。这种布局管理器将容器划分为一系列网格单元,每个组件可以...

    java网格包GridBagLayout布局管理器专题.pdf

    Java 网格包 GridBagLayout 布局管理器是 Java 语言中最复杂和灵活的布局管理器之一。与网格布局管理器不同的是,网格包布局管理器允许容器中各个组件的大小各不相同,还允许组件跨越多个网格,也允许组件之间相互...

    Java 最重要布局管理器GridBagLayout的使用方法

    Java中的`GridBagLayout`是Swing库中最强大的布局管理器之一,允许开发者创建复杂的、自适应的用户界面。这个布局管理器通过一个网格来组织组件,每个组件可以在网格中占据一个或多个单元格,提供了极大的灵活性。...

    Java Swing GridBagLayout网格袋布局的实现

    1. GridBagLayout可以用于实现复杂的界面布局,例如数据表格、树形结构等。 2. GridBagLayout可以用于实现自适应的界面布局,能够根据屏幕的大小和方向自动调整组件的布局。 3. GridBagLayout可以用于实现灵活的界面...

    java中GridBagLayout布局管理器的详细讲解.doc

    通过上述内容可以看出,`GridBagLayout`和`GridBagConstraints`为开发者提供了强大的工具来实现复杂多变的布局需求。掌握了这两种工具的使用方法后,可以轻松应对大多数Java GUI应用的布局设计工作。希望本文能够...

    java swing布局管理器实例之gridbaglayout,实现左右选择框.doc

    在众多的布局管理器中,`GridBagLayout` 是最为灵活,但也最为复杂的。它允许开发者精确地控制组件的位置和大小,以适应各种复杂的布局需求。 在`GridBagLayout`中,有几个核心参数对于理解和使用该布局管理器至关...

    html的table标签作配置,进行swing的GridBagLayout布局

    原创,为完整java工程包。...简化swing复杂界面布局不方便,容器定位的问题。 具体思想是将tabel td等标签相关元素和属性映射成GridBagConstraints的属性值,将布局独立到配置文件,从而简化代码中关于布局的复杂度

    java 计算器程序升级,方便大家使用下载,谢谢

    - 对于复杂的数学运算,可以考虑使用`BigDecimal`等数据类型来提高精度和性能。 综上所述,Java计算器程序是一个典型的入门级项目,涉及了Java GUI编程的基础知识,包括Swing组件的使用、事件处理机制等。通过对...

    GridLayout应用

    由于GridBagLayout的灵活性,它可能会比其他布局管理器更复杂,但能够创造出更复杂且自适应的用户界面。 总结来说,GridLayout适用于简单均匀分布的界面布局,而GridBagLayout则是处理复杂、动态布局的理想选择。...

    TextForm2.zip

    `GridBagLayout` 是Swing提供的一个复杂但功能强大的布局管理器,它使用网格系统来安排组件。每个组件都有一个对应的`GridBagConstraints`对象,该对象包含了一系列的属性,如网格位置(gridx, gridy)、网格跨度...

Global site tag (gtag.js) - Google Analytics