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 -- PAGE_END 的同义词。

  • static String AFTER_LINE_ENDS -- PAGE_END 的同义词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 -- 西布局约束(容器左侧)。

类构造函数

S.N.构造函数 &描述
1

BorderLayout()

构造一个组件之间没有间隙的新边框布局。

2

BorderLayout(int hgap, int vgap)

构造一个组件之间有指定间隙的边框布局。

类方法

S.N.方法 &描述
1

void addLayoutComponent(Component comp, Object Constraints)

使用指定的约束对象将指定的组件添加到布局中。

2

void addLayoutComponent(String name, Component comp)

如果布局管理器使用每个组件的字符串,则将组件 comp 添加到布局中,并将其与名称指定的字符串关联。

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 示例

使用您选择的任何编辑器在 D:/ > AWT > com > tutorialspoint > gui > 中创建以下 Java 程序

AwtLayoutDemo.java
package com.tutorialspoint.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 com	utorialspoint\gui\AwtlayoutDemo.java

如果没有错误,则表示编译成功。使用以下命令运行程序。

D:\AWT>java com.tutorialspoint.gui.AwtlayoutDemo

验证以下输出

AWT BorderLayout

awt_layouts.html