Так что это довольно простая проблема, но я не могу найти простой способ ее реализовать. У меня в основном есть три примера JPanel: север, юг и центр. Обычно, если вы играете с высотой окна, центральная панель будет переменной. Я бы хотел, чтобы высота южной панели была переменной, а не центральной.Сделать нижнюю панель в Borderlayout расширять, как центральную панель
Вот код:
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);
}
}
Изменить макеты , Может быть, что-то вроде «GridBagLayout» будет работать лучше – MadProgrammer
Вы также можете использовать «BoxLayout» –
Thanx, я посмотрю на эти компоненты ... –