Java Swing中是否有等效的“Group Box”?

2022-08-31 16:19:01

尝试在 Java/Swing 中构建 GUI 应用程序。我主要习惯于用VB等工具在Windows方面“绘制”GUI(或者更确切地说,Gupta SQLWindows...想知道有多少人知道那是什么;-))。

我在Swing中找不到相当于Group Box的盒子...

使用分组框,您可以在几个相关的小部件周围有一个方形框(通常带有标题)。一个例子是几个单选按钮周围的组框(标题解释了单选按钮的内容,例如标题为“性别”的分组框,带有“男性”和“女性”单选按钮)。

我搜索了一下...我发现的唯一方法是添加一个子窗格,在子窗格上设置边框,然后将“组”中的所有小部件添加到子窗格中。有没有更优雅的方法来做到这一点?


答案 1

创建一个 JPanel,并向其添加单选按钮。不要忘记将JPanel的布局设置为适当的布局。

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


答案 2

其他人已经对JPanel和使用TitleBorder进行了交流,这很好。

但是,在使用 Swing LayoutManagers 时,您可能会发现不同 JPanels 中的组件无法正确对齐(每个面板都有自己的 LayoutManager)很烦人。

出于这个原因,在Swing GUI中,最好不要使用TitleBorders,而是在JPanel中使用JLabel和水平JSeparator的组件组。这是一种很好的做法(在网络上检查“JGoodies”以获取更多详细信息)。

参考文献 “秋千急救”"