java - 在 Borderlayout 中制作底部面板以像中心面板一样展开

标签 java swing jpanel layout-manager border-layout

所以这是一个非常简单的问题,但我找不到一个简单的方法来实现它。我基本上有 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/

相关文章:

java - 在构造函数中调用像 Swing 的 add() 这样的可覆盖方法

java - 如何在spring类的方法中访问属性文件值

java - 在最后一行输入数据时自动在 jTable 中插入新行

java - 清理嵌套 J 面板

java - JFrame 中的两个 JPanel,一个在另一个下

java - 在java中传递接口(interface)类型(不实现类类型)作为参数

java - 打开 JDBC 连接后无法移动 MS Access 文件

java - 使用 JTable 放置面板

java - Paint Component 在 Eclipse 之外不工作

java 。线程中的异常 "main"java.lang.IllegalArgumentException : adding a window to a container