AWT FlowLayout类

1 什么是Java AWT FlowLayout

从左到右流中的类FlowLayout组件。

2 Java AWT FlowLayout的语法

public class FlowLayout
   extends Object
      implements LayoutManager, Serializable

3 Java AWT FlowLayout的构造方法

构造方法 描述
FlowLayout() 构造一个具有居中对齐和默认 5 个单位的水平和垂直间隙的新 FlowLayout。
FlowLayout(int align) 构造一个具有指定对齐方式和默认 5 个单位的水平和垂直间隙的新 FlowLayout。
FlowLayout(int align, int hgap, int vgap) 使用指示的对齐方式和指示的水平和垂直间隙创建新的流布局管理器。

4 Java AWT FlowLayout的方法

方法 描述
void addLayoutComponent(String name, Component comp) 将指定的组件添加到布局。
int getAlignment() 获取此布局的对齐方式。
int getHgap() 获取组件之间的水平间隙。
int getVgap() 获取组件之间的垂直间隙。
void layoutContainer(Container target) 布置容器。
Dimension minimumLayoutSize(Container target) 返回布局包含在指定目标容器中的可见组件所需的最小尺寸。
Dimension preferredLayoutSize(Container target) 给定指定目标容器中的可见组件,返回此布局的首选尺寸。
void removeLayoutComponent(Component comp) 从布局中移除指定的组件。
void setAlignment(int align) 设置此布局的对齐方式。
void setHgap(int hgap) 设置组件之间的水平间隙。
void setVgap(int vgap) 设置组件之间的垂直间隙。
String toString() 返回此 FlowLayout 对象及其值的字符串表示形式。

5 Java AWT FlowLayout的例子

让我们看一个简单的Java AWT FlowLayout类示例。

package com.yiidian;

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

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.showFlowLayoutDemo();       
   }
      
   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 yiidian.com AWT Tutorial.");

      controlPanel = new Panel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }

   private void showFlowLayoutDemo(){
      headerLabel.setText("Layout in action: FlowLayout");      

      Panel panel = new Panel();
      panel.setBackground(Color.darkGray);
      panel.setSize(200,200);
      FlowLayout layout = new FlowLayout();
      layout.setHgap(10);              
      layout.setVgap(10);
      panel.setLayout(layout);        
      panel.add(new Button("OK"));
      panel.add(new Button("Cancel"));       

      controlPanel.add(panel);

      mainFrame.setVisible(true);  
   }
}

输出结果为:

热门文章

优秀文章