2015-11-03 42 views
2

我有這樣一些代碼的下面:BorderLayout的設計錯誤

public static void main(String[] args) { 
    JFrame f = new BorderTest(); 
    JPanel p = new JPanel(); 

    p.setLayout(new BorderLayout()); 
    p.add(new JButton("West"), "West"); 
    p.add(new JButton("East"), "East"); 
    p.add(new JButton("North"), "North"); 
    p.add(new JButton("Center"), "Center"); 
    p.add(new JButton("South"), "South"); 

    Container c = f.getContentPane(); 
    c.add(p); 
    f.pack(); 
    f.setVisible(true); 
} 

主要生產:

enter image description here

我將如何修改我的代碼,以使它這樣的按鈕北方和南方都與中心和西部和東部寬度相同的垂直方向擴展以填充空間?

謝謝。

+2

添加使用「BorderLayout」將「north」,「south」和「center」添加到另一個容器中,將此容器添加到「p」的「center」位置 – MadProgrammer

回答

5

添加了「北」,「南」和「中心」組件到另一個容器,使用BorderLayout,這個容器添加到主容器的CENTER位置

Layout

JPanel p = new JPanel(new BorderLayout()); 

    JPanel middle = new JPanel(new BorderLayout()); 
    middle.add(new JButton("NORTH"), BorderLayout.NORTH); 
    middle.add(new JButton("CENTER"), BorderLayout.CENTER); 
    middle.add(new JButton("SOUTH"), BorderLayout.SOUTH); 

    p.add(middle); 
    p.add(new JButton("EAST"), BorderLayout.EAST); 
    p.add(new JButton("WEST"), BorderLayout.WEST);