有人帮我处理我的代码,不知道为什么它不起作用 - JAVA GUI

Somebody help me with my code, NO IDEA why it doesn't work - JAVA GUI

嗯。我已经导入了所有内容,这部分是正确的。我无法得到的东西,我希望 JPanel p2 向南,但它不会向南移动。在 ECLIPSE 上工作,它没有显示任何错误。除了它不按我想要的方式工作。请帮忙

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);
}

}

问题是您将 JFrame 的布局更改为 FlowLayout。因此,您不能再使用 JFrame 的(默认)BorderLayout 并且您的 JPanel 不会向南移动。因此,只需删除该行代码即可。

我看不出将 JFrame 的布局设置为 FlowLayout 有什么意义,因为 JPanel 默认使用 FlowLayout。