![]() |
幸福的水煮肉 · 使用jsonpath解析json内容 - ...· 8 月前 · |
![]() |
失落的汽水 · python近红外光谱分峰拟合 ...· 1 年前 · |
![]() |
想出国的拐杖 · 输入框贴贴去除样式并插入到指定光标位置(co ...· 1 年前 · |
![]() |
豪气的毛豆 · pandas数据处理_51CTO博客_pan ...· 1 年前 · |
![]() |
高大的毛衣 · 定时任务cron 解析为中文 - ...· 1 年前 · |
尝试在Java/Swing中构建GUI应用程序。我主要习惯于在Windows端使用像VB (或者更准确地说,Gupta SQLWindows... )这样的工具来“绘制”GUI。想知道有多少人知道这是什么;-))。
我在Swing中找不到等同于Group Box的东西...
有了组框,您就有了一个围绕着几个相关小部件的方形框(通常带有一个标题)。一个例子是围绕着几个单选按钮的组框(标题解释了单选按钮的内容,例如标题为"Sex“的组框,带有”男性“和”女性“单选按钮)。
我到处找过了.我发现的唯一方法是添加一个子窗格,在子窗格上设置边框,然后将“组”中的所有小部件添加到子窗格中。有没有更优雅的方法来做到这一点?
不是AFAIK,至少不是标准的swing小部件。
在VB中,你有一个组小部件,它本质上是一个面板+边框。
在Swing中,您有一个JPanel,它是容器小部件,只有在需要时才在其上创建和设置边框对象。人们可以争辩说,以一种更优雅的方式,因为你不需要为你不使用的东西付费(例如,边框)
创建一个JPanel,并将您的单选按钮添加到其中。不要忘记将JPanel的布局设置为适当的布局。
然后调用
panel.setBorder(BorderFactory.createTitledBorder(name));
分组框只是一组“逻辑分组的小部件”。在swing世界中,这是一个
JPanel
。
将您的小部件添加到
JPanel
。
将它的边框类型设置为“带标题的边框”,并给出标题,与VB6“frame”的名称相同。
瞧。您有自己的组框。
其他人已经对JPanel和使用TitledBorder发表了评论,这很好。
但是,在使用Swing LayoutManagers时,您可能会发现不同JPanels中的组件无法正确对齐(每个面板都有自己的LayoutManager)令人恼火。
出于这个原因,在Swing GUI中最好不要使用TitledBorders,而是使用JLabel后跟水平JSeparator来分隔JPanel中的组件组(请查看web上的"JGoodies“了解更多详细信息)。
参考" First Aid for Swing “
正如David Koelle提到的通过java代码设置边框,你也可以在设计器模式下达到类似的效果。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
扫码关注腾讯云开发者
领取腾讯云代金券