前面部落格中所提及的例子都是針對單獨的視圖元件,将元件組合并布局在合适的位置才能算是完整的界面。Java中的布局采用布局管理器模式進行,提供了跨平台性,BoaderLayout布局管理器會将其内容分成5個部分,上下左右和中心,示例代碼如下:
static void BorderLayoutTest(){
Frame frame = new Frame("Label");
BorderLayout layout = new BorderLayout(10,15);
Panel pannel = new Panel(layout);
pannel.add(BorderLayout.NORTH, new Button("北方"));
pannel.add(BorderLayout.SOUTH, new Button("南方"));
pannel.add(BorderLayout.EAST, new Button("東方"));
pannel.add(BorderLayout.WEST, new Button("西方"));
pannel.add(BorderLayout.CENTER, new Button("中心"));
frame.add(pannel);
frame.pack();
frame.show();
}
效果如下:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SOycDM5MWO1kDMlFTM4UDO4QTZ0MDNmlTM2U2YlNWOi9CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
BorderLayout中常用方法解析:
//常量 指定布局在北方位置
public static final String NORTH = "North";
//常量 指定布局在南方位置
public static final String SOUTH = "South";
//常量 指定布局在東方位置
public static final String EAST = "East";
//常量 指定布局在西方位置
public static final String WEST = "West";
//常量 指定布局在中心位置
public static final String CENTER = "Center";
//初始化方法 預設無間距
public BorderLayout();
//初始化方法 hgap設定水準間距 vgap設定垂直間距
public BorderLayout(int hgap, int vgap);
//擷取水準間距
public int getHgap();
//設定水準間距
public void setHgap(int hgap);
//擷取垂直間距
public int getVgap();
//設定垂直間距
public void setVgap(int vgap);
除了上面的方法,布局管理器相關類中都實作了添加元件的方法,這些方法一般開發者是不需要調用到的,當向容器中添加元件時,容器會用其對應的布局管理器來調用這些方法進行布局。