简单地说,我想让 java 做我想做的事情,但我无法理解布局管理中的任何其他自动调整大小到它感觉要做的事情。
我想要的是一个固定高度的“页脚”和顶部“主”区域,以根据窗口的高度自动调整大小。
水平方向都有最小尺寸,但没有最大尺寸。
有可能吗(我知道有,但感觉不是atm!)
请帮忙!
非常感谢
编辑:根据以下建议进行更新:
public JPanel getPanDescription()
{
JPanel masterPane = new JPanel();
masterPane.setMaximumSize(new Dimension(999999,400));
masterPane.setMinimumSize(new Dimension(100,400));
<snip>
return masterPane;
}
this.panDescription = getPanDescription();
this.panPage = new JPanel(new BorderLayout());
this.panPage.add(this.searchPanel, BorderLayout.CENTER);
this.panPage.add(this.panDescription, BorderLayout.PAGE_END);
工作得很好,但取决于 panDescription 的内容,取决于它的大小。 它仍然只是根据内容调整大小:S
最佳答案
使用BorderLayout
。将页脚添加到底部位置。将页脚的最大尺寸设置为您想要的固定高度,并且宽度大于您的窗口。
JPanel mainPanel = new JPanel(); JPanel footerPanel = new JPanel(); this.setLayout(new BorderLayout()); this.add(mainPanel); this.add(footerPanel, BorderLayout.SOUTH); footerPanel.setMaximumSize(new Dimension(10000, 100)); footerPanel.setPreferredSize(new Dimension(600, 100)); footerPanel.setMinimumSize(new Dimension(1, 100));
关于Java 布局,如何最大化固定高度的 Pane 以及填充屏幕其余部分的 Pane !,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3577511/