所以想在底部新建一个JList
和一个新的JPanel
,但是我对BoxLayout
、FlowLayout
之类的不太熟悉。你有什么建议以便我可以让我的 GUI 变成这样:
请原谅我的画,感谢任何可以提供帮助的人! :)
编辑:这是做什么的?
JPanel.setLayout(new BoxLayout(JPanel, BoxLayout.PAGE_AXIS));
最佳答案
使用 MigLayout 。它非常易于使用,并且只有很小的学习曲线。它可以轻松处理您想要的布局。具体来说,从 Quick Start Guide 开始,然后是 API 其余部分的 Whitepaper)
MigLayout 要查看的特定部分是停靠元素(看起来像在右侧和底部)和 fill
,因为它看起来也像是您希望事物占据整个空间。
除此之外,您可能不需要更多来指定布局。
例如,在 SwingBuilder 框架中使用 MigLayout 和 Griffon,下面是我将如何布置您拥有的内容:
migLayout(layoutConstraints: 'fill, wrap 2',
columnConstraints: '[grow|]',
rowConstraints: '[grow|]')
panel (constraints: 'spany 2, grow') {
// Main content with the picture go in here
}
list(constraints: 'grow') {
// Top list
}
list(constraints: 'grow') {
// Bottom list
}
panel(constraints: 'grow') {
// Bottom panel
}
panel() {
// Button panel
}
可能有很多更好的方法来做到这一点,我还没有把布局放在一起并自己运行,所以我不能 100% 确定它有效,但它应该作为一个很好的起点。