有人帮助我使用我的代码,没有IDEA为什么它不起作用 - JAVA GUI

时间:2015-04-11 17:24:53

标签: java swing layout-manager

好。我已经进口了所有东西,这部分是正确的。我不能得到的东西,我希望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);
}

}

1 个答案:

答案 0 :(得分:0)

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

我没有看到将JFrame的布局设置为FlowLayout的重点,因为JPanel默认使用FlowLayout。