Swing BorderLayout布局
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 -- Synonym for PAGE_END.
-
static String AFTER_LINE_ENDS -- Synonym for LINE_END.
-
static String BEFORE_FIRST_LINE -- Synonym for PAGE_START.
-
static String BEFORE_LINE_BEGINS -- Synonym for LINE_START.
-
static String CENTER -- The center layout constraint (middle of container).
-
static String EAST -- The east layout constraint (right side of container).
-
static String LINE_END -- The component goes at the end of the line direction for the layout.
-
static String LINE_START -- The component goes at the beginning of the line direction for the layout.
-
static String NORTH -- The north layout constraint (top of container).
-
static String PAGE_END -- The component comes after the last line of the layout's content.
-
static String PAGE_START -- The component comes before the first line of the layout's content.
-
static String SOUTH -- The south layout constraint (bottom of container).
-
static String WEST -- The west layout constraint (left side of container).
類構造函數
S.N. | 構造函數 & 描述 |
---|---|
1 |
BorderLayout() Constructs a new border layout with no gaps between components. |
2 |
BorderLayout(int hgap, int vgap) Constructs a border layout with the specified gaps between components. |
類方法
S.N. | 方法 & 描述 |
---|---|
1 |
void addLayoutComponent(Component comp, Object constraints) Adds the specified component to the layout, using the specified constraint object. |
2 |
void addLayoutComponent(String name, Component comp) If the layout manager uses a per-component string, adds the component comp to the layout, associating it with the string specified by name. |
3 |
int getHgap() Returns the horizontal gap between components. |
4 |
float getLayoutAlignmentX(Container parent) Returns the alignment along the x axis. |
5 |
float getLayoutAlignmentY(Container parent) Returns the alignment along the y axis. |
6 |
int getVgap() Returns the vertical gap between components. |
7 |
void invalidateLayout(Container target) Invalidates the layout, indicating that if the layout manager has cached information it should be discarded. |
8 | void layoutContainer(Container target) |
9 |
Dimension maximumLayoutSize(Container target) Returns the maximum dimensions for this layout given the components in the specified target container. |
10 |
Dimension minimumLayoutSize(Container target) Determines the minimum size of the target container using this layout manager. |
11 |
Dimension preferredLayoutSize(Container target) Determines the preferred size of the target container using this layout manager, based on the components in the container. |
12 |
void removeLayoutComponent(Component comp) Removes the specified component from this border layout. |
13 |
void setHgap(int hgap) Sets the horizontal gap between components. |
14 |
void setVgap(int vgap) Sets the vertical gap between components. |
15 |
String toString() Returns a string representation of the state of this border layout. |
方法繼承
這個類從以下類繼承的方法:
-
java.lang.Object
BorderLayout 例子
選擇使用任何編輯器創建以下java程序在 D:/ > SWING > com > yiibai > gui >
SwingLayoutDemo.javapackage com.yiibai.gui; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SwingLayoutDemo { private JFrame mainFrame; private JLabel headerLabel; private JLabel statusLabel; private JPanel controlPanel; private JLabel msglabel; public SwingLayoutDemo(){ prepareGUI(); } public static void main(String[] args){ SwingLayoutDemo swingLayoutDemo = new SwingLayoutDemo(); swingLayoutDemo.showBorderLayoutDemo(); } private void prepareGUI(){ mainFrame = new JFrame("Java SWING Examples"); 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("Center"),BorderLayout.CENTER); panel.add(new JButton("Line Start"),BorderLayout.LINE_START); panel.add(new JButton("Line End"),BorderLayout.LINE_END); panel.add(new JButton("East"),BorderLayout.EAST); panel.add(new JButton("West"),BorderLayout.WEST); panel.add(new JButton("North"),BorderLayout.NORTH); panel.add(new JButton("South"),BorderLayout.SOUTH); controlPanel.add(panel); mainFrame.setVisible(true); } }
編譯程序,使用命令提示符。到 D:/ > SWING 然後輸出以下命令。
D:SWING>javac comyiibaiguiSwingLayoutDemo.java
如果冇有錯誤出現,這意味著編譯成功。使用下麵的命令來運行程序。
D:SWING>java com.yiibai.gui.SwingLayoutDemo
驗證下麵的輸出