根据我的要求:垂直JPanel手动定位:哪种布局?
- JPanels的单个垂直列。
- 设置JPanel的垂直位置*而不使用兄弟的属性。
- 当框架被调整大小时,组件的位置和大小是固定的。
- 保持其他布局方面的自动(如优选的尺寸计算),尽可能
(*)位置:我的意思是定位在Component.setLocation(x, y)。
是否有解决方案,这是明显的,如果这是GridBagLayout,如何做到这一点?
详情:
我想唯一指定其垂直位置,把组件垂直一列容器(如垂直框)。在不失去布局布局的其他好处的情况下做到这一点的最佳方式是什么?
在垂直框,设置组件的垂直位置,必须使用一个filler来完成,或者通过调整正上方的部件的尺寸,也没有像这样的可能性:
panel.setLocation(getLocation().x, y)
在另一方面使用无布局容器穿上我的任务管理:
- 组件
- 容器调整大小事件的初始大小。
这里推荐的null layout的解决方案,在这里,这是一个custom之一,在这里,这是GridBagLaout。此外MIGLayout似乎是普遍的(但我不希望添加另一个库到我的项目)。
为什么不使用'JList'? – 2014-09-28 09:43:45
*“我专注于布局”*当布局是关键时,人们经常忽略布局。有时候,当一种完全不同的方法可能更好时(例如列表,树,工具栏,选项卡窗格),人们会将注意力集中在布局上。例如。这个接受的[answer](http://stackoverflow.com/a/26080729/418556)似乎在Rob Camick的'WrapLayout'中,但在答案中的3种方法中,我可能会使用'JList'。不止一种方法去皮肤那只猫。 ;) – 2014-09-28 10:05:02
尝试我的解决方案http://stackoverflow.com/a/26084135/1966247 – Muhammad 2014-09-28 10:51:49