所以这是一个非常简单的问题,但我找不到一个简单的方法来实现它。我基本上有 3 个 JPanel 实例:north、south 和 center。通常,如果您调整窗口高度,中心面板将是可变的。我想要的是让南面板的高度可变,而不是中间的高度。
代码如下:
public class TestCode {
public static void main(String[] args) {
JFrame window = new JFrame("Test");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setSize(300, 300);
JPanel panelUp = new JPanel();
JPanel panelCenter = new JPanel();
JPanel panelDown = new JPanel();
window.add(panelUp, BorderLayout.NORTH);
window.add(panelCenter, BorderLayout.CENTER);
window.add(panelDown, BorderLayout.SOUTH);
panelUp.setBackground(new Color(200, 240, 200));
panelCenter.setBackground(new Color(240, 200, 200));
panelDown.setBackground(new Color(200, 200, 240));
panelUp.setPreferredSize(new Dimension(panelUp.getWidth(), 50));
panelCenter.setPreferredSize(new Dimension(panelCenter.getWidth(), 100));
panelDown.setPreferredSize(new Dimension(panelDown.getWidth(), window.getHeight() - 150));
window.setVisible(true);
}
}
最佳答案
***************BorderLayout************************
* ********BorderLayout*in*PAGE_START************ *
* * * *
* * Component in PAGE_START * *
* * * *
* * Component in PAGE_END * *
* * * *
* ********************************************** *
* *
* Component in CENTER *
* *
***************************************************
参见 Nested Layout Example有关如何组合布局以创建所需布局的更多想法。
关于java - 在 Borderlayout 中制作底部面板以像中心面板一样展开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17083657/