Swing-borderlayout

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

SWING-BorderLayoutクラス

前書き

クラス BorderLayout は、東、西、北、南、中央の5つの地域に収まるようにコンポーネントを配置します。 各領域には1つのコンポーネントのみを含めることができ、各領域の各コンポーネントは、対応する定数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 -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 -西のレイアウト制約(コンテナの左側)。

クラスコンストラクター

Sr.No. Constructor & Description
1

BorderLayout()

コンポーネント間に隙間のない新しい境界線レイアウトを構築します。

2

BorderLayout(int hgap, int vgap)

コンポーネント間の指定されたギャップでボーダーレイアウトを構築します。

クラスメソッド

Sr.No. Method & Description
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:/> 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.showBorderLayoutDemo();
   }
   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 showBorderLayoutDemo(){
      headerLabel.setText("Layout in action: BorderLayout");

      JPanel panel = new JPanel();
      panel.setBackground(Color.darkGray);
      panel.setSize(300,300);
      BorderLayout layout = new BorderLayout();
      layout.setHgap(10);
      layout.setVgap(10);

      panel.setLayout(layout);
      panel.add(new JButton("Center"),BorderLayout.CENTER);
      panel.add(new JButton("Line Start"),BorderLayout.LINE_START);
      panel.add(new JButton("Line End"),BorderLayout.LINE_END);
      panel.add(new JButton("East"),BorderLayout.EAST);
      panel.add(new JButton("West"),BorderLayout.WEST);
      panel.add(new JButton("North"),BorderLayout.NORTH);
      panel.add(new JButton("South"),BorderLayout.SOUTH);

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

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

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

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

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

次の出力を確認します。

SWING BorderLayout