位置:首頁 > Java技術 > AWT > AWT BorderLayout

AWT 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() 
構造一個新的組件之間冇有間距的邊界布局。
2 BorderLayout(int hgap, int vgap) 
構造一個邊界布局指定組件之間的空隙。

類方法

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:/ > AWT > com > yiibai > gui >

AwtLayoutDemo.java
package com.yiibai.gui;

import java.awt.*;
import java.awt.event.*;

public class AwtLayoutDemo {
   private Frame mainFrame;
   private Label headerLabel;
   private Label statusLabel;
   private Panel controlPanel;
   private Label msglabel;

   public AwtLayoutDemo(){
      prepareGUI();
   }

   public static void main(String[] args){
      AwtLayoutDemo  awtLayoutDemo = new AwtLayoutDemo();  
      awtLayoutDemo.showBorderLayoutDemo();       
   }
      
   private void prepareGUI(){
      mainFrame = new Frame("Java AWT Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new Label();
      headerLabel.setAlignment(Label.CENTER);
      statusLabel = new Label();        
      statusLabel.setAlignment(Label.CENTER);
      statusLabel.setSize(350,100);

      msglabel = new Label();
      msglabel.setAlignment(Label.CENTER);
      msglabel.setText("Welcome to TutorialsPoint AWT Tutorial.");

      controlPanel = new Panel();
      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");      

      Panel panel = new Panel();
      panel.setBackground(Color.darkGray);
      panel.setSize(300,300);
      BorderLayout layout = new BorderLayout();
      layout.setHgap(10);
      layout.setVgap(10);
      panel.setLayout(layout);        
	  
      panel.add(new Button("Center"),BorderLayout.CENTER);
      panel.add(new Button("Line Start"),BorderLayout.LINE_START); 
      panel.add(new Button("Line End"),BorderLayout.LINE_END);
      panel.add(new Button("East"),BorderLayout.EAST);   
      panel.add(new Button("West"),BorderLayout.WEST); 
      panel.add(new Button("North"),BorderLayout.NORTH); 
      panel.add(new Button("South"),BorderLayout.SOUTH); 

      controlPanel.add(panel);

      mainFrame.setVisible(true);  
   }
}

編譯程序,使用命令提示符。進入到D:/> AWT,然後鍵入以下命令。

D:AWT>javac comyiibaiguiAwtlayoutDemo.java

如果冇有錯誤出現,這意味著編譯成功。使用下麵的命令來運行程序。

D:AWT>java com.yiibai.gui.AwtlayoutDemo

驗證下麵的輸出

AWT BorderLayout