java - Swing/AWT 中提议项目的 GridBagLayout 或 BorderLayout?
问题描述
我正在尝试创建一个如图所示的 GUI:
我在决定哪种布局最适合这个时遇到了一些麻烦。
我尝试使用 a GridBagLayout
,但不知道如何使项目大小不同,以及如何定位它们。
我也考虑过使用 aBorderLayout
和创建一个eastpanel
,westpanel
并且centerpanel
这些使用各自的布局约束将它们放在那里,但这感觉不正确。
我还阅读了如何使用GridBagLayout
Java 教程,但仍然无法弄清楚如何实现目标。
解决方案
您不应该强迫自己只使用具有单一布局的单一面板。将多个面板相互嵌套,每个面板可能具有不同的布局。
您可以有 1 个带有 BorderLayout 的根面板。对于顶部,您有一个带有 FlowLayout(或者可能是 gridbaglayout)的面板。中心可以是另一个带有 GridBagLayout 的面板,也可以是更多嵌套面板的组合。
没有一种神奇的布局可以做任何事情。组成是关键。
推荐阅读
- ios - UIHostingController 应该扩展以适应内容
- python - Python - 生成地理数据库、可视化和地理分析的最佳课程
- python - 我的while循环不会在条件后停止
- corda - 使用工具资源管理器连接到 TestNet 节点的 Corda 问题
- javascript - typeof 在检查作为参数传递的函数时不起作用
- r - 如何使用 R 中的递归创建长度为 n 的所有 2^n 二进制序列的矩阵?
- c# - 如何拆分启动中配置的选项
- linux - 在大文件的每一列中,删除特定分隔符后的所有内容
- mysql - 子查询在 SELECT 部分返回超过 1 行(Dlookup 到 MySql)
- java - Get() 方法第一次返回正确的值,第二次返回 null