在Java圖形界面中組件放置在窗體上的位置不是經過座標來控制的,而是由佈局管理器根據組件的加入順序決定其位置。使用不一樣的佈局管理器,組件的大小,形狀和位置都不相同。java
我在這裏給你們說下BorderLayout佈局管理器ide
只要你不設置其餘佈局,JFrame的默認佈局管理器就是BorderLayout。BorderLayout是把窗體分爲5個模塊 上北,下南,左西,右東,還有中間。如圖佈局
若是你要給一個面板或者窗體加入BorderLayout佈局只須要使用 spa
\窗體名字.setLayout(new BorderLyout());orm
就能夠了 使用add()方法能夠把組件放入到各個區域當中blog
窗體名字.add(new JButton , BorderLayout.NORTH);ci
這樣就把一個按鈕放入到了北這個區域當中get
對於除中間之外的全部位置 加入的組件將被沿着一個方向壓縮到最小尺寸,同是另外一個方向上拉伸到最大尺寸。對於中間來講 組件將會被向倆個方向上同是拉伸,以覆蓋中間區域it
一下是使用的代碼:io
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class LayoutTest {
public static void main(String[] args) {
new LayoutTest();
}
public LayoutTest(){
JFrame mainFrame = new JFrame("BorderLayout佈局管理器");
mainFrame.setLayout(new BorderLayout());
JButton northJB = new JButton("北");
JButton southJB = new JButton("南");
JButton eastJB = new JButton("東");
JButton westJB = new JButton("西");
JButton centerJB = new JButton("中");
mainFrame.add(northJB,BorderLayout.NORTH);
mainFrame.add(southJB,BorderLayout.SOUTH);
mainFrame.add(eastJB,BorderLayout.EAST);
mainFrame.add(westJB,BorderLayout.WEST);
mainFrame.add(centerJB,BorderLayout.CENTER);
mainFrame.setSize(300,400);
mainFrame.setResizable(false);
mainFrame.setLocation(200, 250);
mainFrame.setVisible(true);
}
}