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

在JAVA Swing中是否有一个等价的“分组框”?

  •  57
  • Thorsten  · 技术社区  · 16 年前

    试图在爪哇/Swing中构建GUI应用程序。我主要习惯于用vb之类的工具在窗口侧“绘制”gui(或者更精确地说,gupta sqlwindows…想知道有多少人知道那是什么;-)。

    我在Swing中找不到一个等价的分组框…

    对于分组框,在几个相关的小部件周围有一个方形框(通常带有标题)。一个例子是围绕几个单选按钮的组框(标题解释了单选按钮的含义,例如,名为“sex”的组框带有“male”和“male”单选按钮)。

    我到处找过…我找到的唯一方法是添加一个子窗格,在子窗格上设置边框,然后将“组”中的所有小部件添加到子窗格。有更优雅的方式吗?

    7 回复  |  直到 6 年前
        1
  •  112
  •   David Koelle    16 年前

    创建一个jpanel,并将您的RadioButton添加到其中。不要忘记将jpanel的布局设置为适当的。

    然后打电话 panel.setBorder(BorderFactory.createTitledBorder(name));

        2
  •  7
  •   jfpoilpret    11 年前

    其他人已经就jpanel和使用标题边界进行了沟通,没关系。

    但是,当使用Swing布局管理器时,您可能会发现不同jpanel中的组件无法正确对齐(每个面板都有自己的布局管理器)会很恼人。

    因此,在Swing GUI中,最好不要使用标题边框,而是使用jLabel和水平jSeparator将jpanel中的组件组分隔开(请查看Web上的“jgoodies”了解更多详细信息)。

    参考文献。 First Aid for Swing

        3
  •  3
  •   Nivas    16 年前

    分组框只是一组“逻辑分组的小部件”。 这在摇摆世界是一个 JPanel .

    将小工具添加到 面板 .

    将其边框类型设置为“标题边框”,并给出标题,与vb6“框架”的名称相同。

    沃伊拉你有你的分组框。

        4
  •  2
  •   Bill    16 年前

    这是jradiobutton javadocs的引述,因为您提到了单选按钮。

    一个单选按钮的实现——可以选择或取消选择的项目,它向用户显示其状态。与ButtonGroup对象一起使用可创建一组按钮,其中一次只能选择一个按钮。(创建ButtonGroup对象并使用其添加方法将JradioButton对象包括在组中。)

    注意:ButtonGroup对象是逻辑分组,而不是物理分组。要创建一个按钮面板,您仍然应该创建一个jpanel或类似的容器对象,并向其添加一个边框,使其与周围的组件分离。

        5
  •  1
  •   Uri    16 年前

    不是Afaik,至少不是标准的Swing小部件。

    在VB中,有一个组小部件,它本质上是一个面板+边框。

    在Swing中,您有一个jpanel,它是一个容器小部件,只有在需要的时候才在上面创建和设置一个边界对象。有人可以说,在某种程度上,这是更优雅的,因为你不为你不使用的东西付费(例如,边界)。

        6
  •  0
  •   Gaurang    6 年前

    正如David Koelle提到通过Java代码建立边界时,您也可以在设计器模式下实现类似的结果。

    enter image description here

        7
  •  -1
  •   Troyseph    9 年前

    我是根据URI的评论做出回应的,这解释了OP的含义。 Group Box :

    我想他指的是你在很多对话框中看到的控制组,例如,你在一堆小部件周围有一个正方形,比如单选按钮。

    据我所知,每 JComponent 可以为自己设置边框,因此不需要第二个面板。