GridLayout

优质
小牛编辑
139浏览
2023-12-01

介绍 (Introduction)

GridLayout类将组件排列在矩形网格中。

Class 声明 (Class Declaration)

以下是java.awt.GridLayout类的声明 -

public class GridLayout
   extends Object
      implements LayoutManager, Serializable

类构造函数 (Class Constructors)

Sr.No.构造函数和描述
1

GridLayout()

在单行中创建一个网格布局,每个组件的默认值为一列。

2

GridLayout(int rows, int cols)

创建具有指定行数和列数的网格布局。

3

GridLayout(int rows, int cols, int hgap, int vgap)

创建具有指定行数和列数的网格布局。

Class Methods

Sr.No.方法和描述
1

void addLayoutComponent(String name, Component comp)

将具有指定名称的指定组件添加到布局中。

2

int getColumns()

获取此布局中的列数。

3

int getHgap()

获取组件之间的水平间隙。

4

int getRows()

获取此布局中的行数。

5

int getVgap()

获取组件之间的垂直间隙。

6

void layoutContainer(Container parent)

使用此布局布置指定的容器。

7

Dimension minimumLayoutSize(Container parent)

使用此网格布局确定容器参数的最小大小。

8

Dimension preferredLayoutSize(Container parent)

使用此网格布局确定容器参数的首选大小。

9

void removeLayoutComponent(Component comp)

从布局中删除指定的组件。

10

void setColumns(int cols)

将此布局中的列数设置为指定值。

11

void setHgap(int hgap)

将组件之间的水平间隙设置为指定值。

12

void setRows(int rows)

将此布局中的行数设置为指定值。

13

void setVgap(int vgap)

将组件之间的垂直间距设置为指定值。

14

String toString()

返回此网格布局值的字符串表示形式。

方法继承 (Methods Inherited)

该类继承以下类中的方法 -

  • java.lang.Object

GridLayout示例

使用您选择的任何编辑器创建以下Java程序,例如D:/ 》 SWING 》 com 》 xnip 》 gui 》

SwingLayoutDemo.java

package cn.xnip.gui;
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.showGridLayoutDemo();       
   }
   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 showGridLayoutDemo(){
      headerLabel.setText("Layout in action: GridLayout");      
      JPanel panel = new JPanel();
      panel.setBackground(Color.darkGray);
      panel.setSize(300,300);
      GridLayout layout = new GridLayout(0,3);
      layout.setHgap(10);
      layout.setVgap(10);
      panel.setLayout(layout);        
      panel.add(new JButton("Button 1"));
      panel.add(new JButton("Button 2")); 
      panel.add(new JButton("Button 3")); 
      panel.add(new JButton("Button 4")); 
      panel.add(new JButton("Button 5")); 
      controlPanel.add(panel);
      mainFrame.setVisible(true);  
   }
}

使用命令提示符编译程序。 转到D:/ 》 SWING并键入以下命令。

D:\SWING>javac com\xnip\gui\SwingLayoutDemo.java

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

D:\SWING>java cn.xnip.gui.SwingLayoutDemo

验证以下输出。

SWING GridLayout