Swing-gridbaglayout

提供:Dev Guides
移動先:案内検索

SWING-GridBagLayoutクラス

前書き

クラス GridBagLayout は、コンポーネントを水平および垂直に配置します。

クラス宣言

以下は java.awt.GridBagLayout クラスの宣言です-

public class GridBagLayout
   extends Object
      implements LayoutManager2, Serializable

フィールド

以下は java.awt.GridBagLayout クラスのフィールドです-

  • static int DEFAULT_SIZE -特定の範囲値に使用されるコンポーネントまたはギャップのサイズを示します。
  • static int Preferred_SIZE -特定の範囲値に使用するコンポーネントまたはギャップの推奨サイズを示します。

クラスコンストラクター

Sr.No. Constructor & Description
1

GridBagLayout()

グリッドバッグレイアウトマネージャーを作成します。

クラスメソッド

Sr.No. Method & Description
1

void addLayoutComponent(Component comp, Object constraints)

指定された制約オブジェクトを使用して、指定されたコンポーネントをレイアウトに追加します。

2

void addLayoutComponent(String name, Component comp)

指定された名前の指定されたコンポーネントをレイアウトに追加します。

3

protected void adjustForGravity(GridBagConstraints constraints, Rectangle r)

  • x、y* の幅と高さのフィールドを、制約ジオメトリとパッドに応じて正しい値に調整します。
4

protected void AdjustForGravity(GridBagConstraints constraints, Rectangle r)

このメソッドは廃止され、下位互換性のためにのみ提供されています。新しいコードは、代わりにadjustForGravityを呼び出す必要があります。

5

protected void arrangeGrid(Container parent)

グリッドをレイアウトします。

6

protected void ArrangeGrid(Container parent)

このメソッドは廃止され、下位互換性のためにのみ提供されています。新しいコードは、代わりにarrangeGridを呼び出す必要があります。

7

GridBagConstraints getConstraints(Component comp)

指定されたコンポーネントの制約を取得します。

8

float getLayoutAlignmentX(Container parent)

x軸に沿った配置を返します。

9

float getLayoutAlignmentY(Container parent)

y軸に沿った配置を返します。

10

int[][] getLayoutDimensions()

レイアウトグリッドの列幅と行高さを決定します。

11

protected java.awt.GridBagLayoutInfo getLayoutInfo(Container parent, int sizeflag)

管理対象の子の現在のセットのGridBagLayoutInfoのインスタンスを入力します。

12

protected java.awt.GridBagLayoutInfo GetLayoutInfo(Container parent, int sizeflag)

このメソッドは廃止され、下位互換性のためにのみ提供されています。新しいコードは、代わりにgetLayoutInfoを呼び出す必要があります。

13

Point getLayoutOrigin()

ターゲットコンテナのグラフィックス座標空間で、レイアウト領域の原点を決定します。

14

double[][] getLayoutWeights()

レイアウトグリッドの列と行の重みを決定します。

15

protected Dimension getMinSize(Container parent, java.awt.GridBagLayoutInfo info)

getLayoutInfo()からの情報に基づいて、マスターの最小サイズを計算します。

16

protected Dimension GetMinSize(Container parent, java.awt.GridBagLayoutInfo info)

このメソッドは廃止され、下位互換性のためにのみ提供されています。新しいコードは、代わりにgetMinSizeを呼び出す必要があります。

17

void invalidateLayout(Container target)

レイアウトを無効にし、レイアウトマネージャーが情報をキャッシュしている場合は破棄することを示します。

18

void layoutContainer(Container parent)

このグリッドバッグレイアウトを使用して、指定されたコンテナをレイアウトします。

19

Point location(int x, int y)

レイアウトグリッドのどのセルに(x、y)で指定されたポイントが含まれるかを決定します。

20

protected GridBagConstraints lookupConstraints(Component comp)

指定されたコンポーネントの制約を取得します。

21

Dimension maximumLayoutSize(Container target)

指定されたターゲットコンテナ内のコンポーネントを指定して、このレイアウトの最大寸法を返します。

22

Dimension minimumLayoutSize(Container parent)

このグリッドバッグレイアウトを使用して、親コンテナの最小サイズを決定します。

23

Dimension preferredLayoutSize(Container parent)

このグリッドバッグレイアウトを使用して、親コンテナの推奨サイズを決定します。

24

void removeLayoutComponent(Component comp)

指定されたコンポーネントをこのレイアウトから削除します。

25

void setConstraints(Component comp, GridBagConstraints constraints)

このレイアウトの指定されたコンポーネントの制約を設定します。

26

String toString()

このグリッドバッグレイアウトの値の文字列表現を返します。

継承されるメソッド

このクラスは、次のクラスからメソッドを継承します-

  • java.lang.Object

GridBagLayoutの例

たとえば、 D:/> SWING> com> finddevguides> gui> の任意のエディターを使用して、次のJavaプログラムを作成します。

SwingLayoutDemo.java

package com.finddevguides.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.showGridBagLayoutDemo();
   }
   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 showGridBagLayoutDemo(){
      headerLabel.setText("Layout in action: GridBagLayout");

      JPanel panel = new JPanel();
      panel.setBackground(Color.darkGray);
      panel.setSize(300,300);
      GridBagLayout layout = new GridBagLayout();

      panel.setLayout(layout);
      GridBagConstraints gbc = new GridBagConstraints();

      gbc.fill = GridBagConstraints.HORIZONTAL;
      gbc.gridx = 0;
      gbc.gridy = 0;
      panel.add(new JButton("Button 1"),gbc);

      gbc.gridx = 1;
      gbc.gridy = 0;
      panel.add(new JButton("Button 2"),gbc);

      gbc.fill = GridBagConstraints.HORIZONTAL;
      gbc.ipady = 20;
      gbc.gridx = 0;
      gbc.gridy = 1;
      panel.add(new JButton("Button 3"),gbc);

      gbc.gridx = 1;
      gbc.gridy = 1;
      panel.add(new JButton("Button 4"),gbc);

      gbc.gridx = 0;
      gbc.gridy = 2;
      gbc.fill = GridBagConstraints.HORIZONTAL;
      gbc.gridwidth = 2;
      panel.add(new JButton("Button 5"),gbc);

      controlPanel.add(panel);
      mainFrame.setVisible(true);
   }
}

コマンドプロンプトを使用してプログラムをコンパイルします。 D:/> SWING に移動して、次のコマンドを入力します。

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

エラーが発生しない場合、コンパイルが成功したことを意味します。 次のコマンドを使用してプログラムを実行します。

D:\SWING>java com.finddevguides.gui.SwingLayoutDemo

次の出力を確認します。

SWING GridBagLayout