代码之家  ›  专栏  ›  技术社区  ›  kroiz

Swing GUI组件过于紧凑

  •  3
  • kroiz  · 技术社区  · 16 年前

    在JavaSwing应用程序中,我觉得所有组件都封装得太紧了。

    在qt中,可以指定布局的填充和边距。

    秋千有类似的东西吗?

    alt text http://img12.yfrog.com/img12/9612/screenshotscreenerconfi.png

    这是我的应用程序的屏幕截图,我的东西太紧了(是吗?你怎么认为?.

    谢谢。

    6 回复  |  直到 16 年前
        1
  •  2
  •   Telcontar    16 年前

    看看 GridBagLayoutManager . 它是最复杂的布局管理器,但一切都可以用它来完成。

    它使用 GridBagConstraintObject 它具有inset属性,指定到顶部、底部、左侧和右侧组件的分隔。

    示例:gridBagConstraintObject.insets.left=20

        2
  •  2
  •   Joonas Pulakka    16 年前

    你可以使用 MiGLayout 作为布局管理器。它允许各种定制,包括页边距/填充。

        3
  •  1
  •   jfpoilpret    16 年前

    通过使用 DesignGridLayout 只需要几行代码(布局中每行一行)。DesignGridLayout将自动为运行时平台使用正确的间距。

    此外,我强烈建议您不要在表单中使用标题边框,因为它会阻止任何布局管理器(尽可能高级)自动在不同组中正确对齐各个组件。相反,您可以将jLabel与jSeparator一起使用(DesignGridLayout中有一些示例,但这适用于任何其他LayoutManager)。

        4
  •  1
  •   OscarRyz    16 年前

    由于Java 1.6的摆动,有一个新的 GroupLayout 使这种工作更容易的经理。

    例如,有一个方法: setAutoCreateGaps() 那就是:

    …您将两个组件添加到序列组中,两个组件之间的间隙将自动创建…

    例如:

    alt text http://java.sun.com/javase/6/docs/api/javax/swing/doc-files/groupLayout.example.png

        5
  •  0
  •   kgiannakakis    16 年前

    什么 LayoutManager 你在用吗?增加利润是很容易的,但这取决于使用的具体布局管理器。

        6
  •  0
  •   Carlos    16 年前

    FormLayout 是另一个好的布局管理器。有了这样一个优秀的图形用户界面编辑器 JFormDesigner 它使GUI的构建变得足够简单。在大多数情况下,jformDesigner实际上会自动添加足够的填充。我不得不建议不要使用gridbaglayout。它做得不错,但是非常复杂,使用和维护起来很困难。