/ / Alguém me ajude com o meu código, NO IDEA porque ele não funciona - Java GUI - java, swing, gerenciador de layout

Alguém me ajude com meu código, SEM IDÉIA porque ele não funciona - Java GUI - java, swing, gerenciador de layout

Bem. Eu importei tudo, esta parte está certa. A coisa que eu não consigo, eu quero que o JPanel p2 seja SOUTH, mas ele não muda para o SUL. Trabalhando no ECLIPSE, não está mostrando nenhum erro. Só que não funciona do jeito que eu quero. Ajuda, por favor

public static void main(String[] args) {
JFrame frame = new JFrame("Title");
frame.setLayout(new BorderLayout());
JButton but1 = new JButton("Button 1");
JButton but2 = new JButton("Button 2");
JButton but3 = new JButton("Button 3");
JButton but4 = new JButton("Button 4");
JButton but5 = new JButton("Button 5");
JButton but6 = new JButton("Button 6");
JButton but7 = new JButton("Button 7");
JButton but8 = new JButton("Button 8");
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();

p1.add(but1);
p1.add(but2);
p1.add(but3);
p1.add(but4);
p2.add(but5);
p2.add(but6);
p2.add(but7);
p2.add(but8);
frame.add(p1,BorderLayout.WEST);
frame.add(p2,BorderLayout.SOUTH);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(640, 480);
frame.setLayout(new FlowLayout());
frame.setResizable(false);
}

}

Respostas:

0 para resposta № 1

O problema é que você muda o layout do seuJFrame para um FlowLayout. Portanto, você não pode mais usar o BorderLayout (padrão) do JFrame e seu JPanel não vai para o sul. Então, basta remover essa linha de código e ela funcionará.

Eu não vejo o ponto em definir o layout do JFrame para um FlowLayout como o JPanel usa FlowLayout por padrão.