我想创建一个这样的布局
这是我的代码(不起作用):
outer.setLayout(new BorderLayout());
panel1 = new JPanel();
...
outer.add(panel1, BorderLayout.PAGE_START);
outer.add(panel2, BorderLayout.LINE_START);
outer.add(panel3, BorderLayout.CENTER);
outer.add(panel4, BorderLayout.LINE_END);
outer.add(panel5, BorderLayout.PAGE_END);
注意:上面的 panel5 中应包含另外 2 个面板
在上面的代码中,我可以将它们放在正确的位置,但是中心的(panel3)非常大,因此所有其他的都被挤到一边。
我如何获得这些尺寸的一些比例,例如 2:10:2 等?
我应该改变布局吗?
最佳答案
如果您想做类似的事情,使用 BorderLayout 是一个好的开始。所以是的,我也会在这里使用 BorderLayout。
但是您应该更改添加面板的方式:
outer.add(panel1, BorderLayout.NORTH);
outer.add(panel2, BorderLayout.WEST);
outer.add(panel3, BorderLayout.CENTER);
outer.add(panel4, BorderLayout.EAST);
//Create a additional Panel for the two at the bottom
JPanel southPanelContainer = new JPanel(new BorderLayout());
southPanelContainer.add(panel5, BorderLayout.EAST);
southPanelContainer.add(panel6, BorderLayout.WEST);
outer.add(southPanelContainer, BorderLayout.SOUTH);
这看起来应该已经有点不错了,但是如果您仍然想改变它的外观,那么您应该向这些面板添加一些组件。布局管理器将自动调整面板大小,以便一切都适合。
关于java - 布局 Swing java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45814855/