BorderLayout
類排列組件適合五個區域:東,西,北,南和中心。每個區域只能包含一個組件,每個區域中的每個組件都由相應的常量:NORTH
,SOUTH
,EAST
,WEST
和CENTER
標識。
類聲明
以下是java.awt.BorderLayout
類的聲明 -
public class BorderLayout
extends Object
implements LayoutManager2, Serializable
字段
以下是java.awt.BorderLayout
類的字段 -
static String AFTER_LAST_LINE
-PAGE_END
的同義詞。static String AFTER_LINE_ENDS
-LINE_END
的同義詞。static String BEFORE_FIRST_LINE
-PAGE_START
的同義詞。static String BEFORE_LINE_BEGINS
-LINE_START
的同義詞。static String CENTER
- 中心佈局約束(容器的中間)。static String EAST
- 東部佈局約束(容器的右側)。static String LINE_END
- 組件位於佈局的行方向的末尾。static String LINE_START
- 組件位於佈局的行方向的開頭。static String NORTH
- 北佈局約束(容器頂部)。static String PAGE_END
- 組件位於佈局內容的最後一行之後。static String PAGE_START
- 組件位於佈局內容的第一行之前。static String SOUTH
- 南佈局約束(容器的底部)。static String WEST
- 西部佈局約束(容器的左側)。
類構造函數
編號 | 構造函數 | 描述 |
---|---|---|
1 | BorderLayout() |
構造一個新的邊框佈局,組件之間沒有間隙。 |
2 | BorderLayout(int hgap, int vgap) |
構造具有組件之間指定間隙的邊框佈局。 |
類方法
編號 | 類方法 | 描述 |
---|---|---|
1 | void addLayoutComponent(Component comp, Object constraints) |
使用指定的約束對象將指定的組件添加到佈局中。 |
2 | void addLayoutComponent(String name, Component comp) |
如果佈局管理器使用每個組件的字串,則將組件comp 添加到佈局中,並將其與name 指定的字串相關聯。 |
3 | int getHgap() |
返回組件之間的水準間隙。 |
4 | float getLayoutAlignmentX(Container parent) |
返回沿x 軸的對齊方式。 |
5 | float getLayoutAlignmentY(Container parent) |
返回沿y 軸的對齊方式。 |
6 | int getVgap() |
返回組件之間的垂直間隙。 |
7 | void invalidateLayout(Container target) |
使佈局無效,如果佈局管理器緩存了資訊,則應將其丟棄。 |
8 | void layoutContainer(Container target) |
使用此邊框佈局佈置容器參數。 |
9 | Dimension maximumLayoutSize(Container target) |
給定指定目標容器中的組件,返回此佈局的最大值。 |
10 | Dimension minimumLayoutSize(Container target) |
使用此佈局管理器確定目標容器的最小值。 |
11 | Dimension preferredLayoutSize(Container target) |
根據容器中的組件,使用此佈局管理器確定目標容器的首選大小。 |
12 | void removeLayoutComponent(Component comp) |
從此邊框佈局中刪除指定的組件。 |
13 | void setHgap(int hgap) |
設置組件之間的水準間隙。 |
14 | void setVgap(int vgap) |
設置組件之間的垂直間隙。 |
15 | String toString() |
返回此邊框佈局狀態的字串表示形式。 |
方法繼承
該類繼承以下類中的方法 -
java.lang.Object
BorderLayout示例
使用編輯器創建以下Java程式:BorderLayoutDemo.java
package com.zaixian.layout;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class BorderLayoutDemo {
private JFrame mainFrame;
private JLabel headerLabel;
private JLabel statusLabel;
private JPanel controlPanel;
private JLabel msglabel;
public BorderLayoutDemo() {
prepareGUI();
}
public static void main(String[] args) {
BorderLayoutDemo swingLayoutDemo = new BorderLayoutDemo();
swingLayoutDemo.showBorderLayoutDemo();
}
private void prepareGUI() {
mainFrame = new JFrame("Java SWING BorderLayout示例(xuhuhu.com)");
mainFrame.setSize(400, 400);
mainFrame.setLayout(new GridLayout(3, 1));
headerLabel = new JLabel("", JLabel.CENTER);
statusLabel = new JLabel("", JLabel.CENTER);
statusLabel.setSize(350, 100);
mainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent) {
System.exit(0);
}
});
controlPanel = new JPanel();
controlPanel.setLayout(new FlowLayout());
mainFrame.add(headerLabel);
mainFrame.add(controlPanel);
mainFrame.add(statusLabel);
mainFrame.setVisible(true);
}
private void showBorderLayoutDemo() {
headerLabel.setText("Layout in action: BorderLayout");
JPanel panel = new JPanel();
panel.setBackground(Color.darkGray);
panel.setSize(300, 300);
BorderLayout layout = new BorderLayout();
layout.setHgap(10);
layout.setVgap(10);
panel.setLayout(layout);
panel.add(new JButton("中心按鈕"), BorderLayout.CENTER);
panel.add(new JButton("行開始"), BorderLayout.LINE_START);
panel.add(new JButton("行結束"), BorderLayout.LINE_END);
panel.add(new JButton("東側"), BorderLayout.EAST);
panel.add(new JButton("西側"), BorderLayout.WEST);
panel.add(new JButton("北側"), BorderLayout.NORTH);
panel.add(new JButton("南側"), BorderLayout.SOUTH);
controlPanel.add(panel);
mainFrame.setVisible(true);
}
}
執行上面示例代碼,得到以下結果 -
上一篇:
Swing LayoutManager介面
下一篇:
Swing Menu類