我想在底部创建一个新的JList
和一个新的JPanel
,但我对BoxLayout
、FlowLayout
等不太熟悉。您有什么建议,以便我可以使我的GUI变成这样:
请原谅我的绘画水平,感谢能提供帮助的任何人! :)
编辑:这是什么作用? JPanel.setLayout(new BoxLayout(JPanel,BoxLayout.PAGE_AXIS));
我想在底部创建一个新的JList
和一个新的JPanel
,但我对BoxLayout
、FlowLayout
等不太熟悉。您有什么建议,以便我可以使我的GUI变成这样:
请原谅我的绘画水平,感谢能提供帮助的任何人! :)
编辑:这是什么作用? JPanel.setLayout(new BoxLayout(JPanel,BoxLayout.PAGE_AXIS));
fill
,因为看起来您也希望物品占据整个空间。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
}
可能有更好的方法来做这件事,而且我自己也没有整理布局并运行它,所以我不确定它是否百分之百有效,但它应该作为一个很好的起点。
你可以使用GridBagLayout或者使用带有BorderLayout的嵌套面板。你需要有一些JPanel容器来定义布局,然后在它们上面添加功能组件。
对于你的例子,我会从中心(Panel A)开始一个面板和一个东边的面板(Panel B)。然后为面板B使用BoxLayout,并添加JList、JButton、JLabel和Jlists,以及删除标签按钮。
对于面板A,在南边(Panel C)、中心(Panel D)和东边(Panel E)再添加另一个容器面板。在Panel E上使用boxlayout添加新的两个列表,在Panel C上添加图片。
希望能帮到你。