とても単純な問題ですが、それを実装する簡単な方法が見つかりません。基本的に、JPanel の 3 つのインスタンス (北、南、中央) があります。通常、ウィンドウの高さで遊ぶと、中央のパネルが可変になります。私が望むのは、中央パネルの代わりに南パネルの高さを可変にすることです。
コードは次のとおりです。
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);
}
}