Awt-cardlayout

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

AWT CardLayoutクラス

前書き

クラス CardLayout は、コンテナ内の各コンポーネントをカードとして配置します。 一度に表示できるカードは1枚だけで、コンテナはカードのスタックとして機能します。

クラス宣言

以下は java.awt.CardLayout クラスの宣言です。

public class CardLayout
   extends Object
      implements LayoutManager2, Serializable

クラスコンストラクター

S.N. Constructor & Description
1

CardLayout()

サイズ0のギャップで新しいカードレイアウトを作成します。

2

CardLayout(int hgap, int vgap)

指定された水平方向と垂直方向のギャップで新しいカードレイアウトを作成します。

クラスメソッド

S.N. Method & Description
1

void addLayoutComponent(Component comp, Object constraints)

指定されたコンポーネントをこのカードレイアウトの名前の内部テーブルに追加します。

2

void addLayoutComponent(String name, Component comp)

レイアウトマネージャーがコンポーネントごとの文字列を使用する場合、コンポーネントcompをレイアウトに追加し、名前で指定された文字列に関連付けます。

3

void first(Container parent)

コンテナの最初のカードに切り替えます。

4

int getHgap()

コンポーネント間の水平方向のギャップを取得します。

5

float getLayoutAlignmentX(Container parent)

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

6

float getLayoutAlignmentY(Container parent)

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

7

int getVgap()

コンポーネント間の垂直方向のギャップを取得します。

8

void invalidateLayout(Container target)

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

9

void last(Container parent)

コンテナの最後のカードに切り替えます。

10

void layoutContainer(Container parent)

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

11

Dimension maximumLayoutSize(Container target)

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

12

Dimension minimumLayoutSize(Container parent)

指定されたパネルの最小サイズを計算します。

13

void next(Container parent)

指定されたコンテナの次のカードに切り替えます。

14

Dimension preferredLayoutSize(Container parent)

このカードレイアウトを使用して、コンテナ引数の優先サイズを決定します。

15

void previous(Container parent)

指定されたコンテナの前のカードに切り替えます。

16

void removeLayoutComponent(Component comp)

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

17

void setHgap(int hgap)

コンポーネント間の水平方向の間隔を設定します。

18

void setVgap(int vgap)

コンポーネント間の垂直方向の間隔を設定します。

19

void show(Container parent, String name)

addLayoutComponentを使用して、指定された名前でこのレイアウトに追加されたコンポーネントに切り替えます。

20

String toString()

このカードレイアウトの状態の文字列表現を返します。

継承されたメソッド

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

  • java.lang.Object

CardLayoutの例

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

AwtLayoutDemo.java

package com.finddevguides.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.showCardLayoutDemo();
   }

   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 finddevguides AWT Tutorial.");

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

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

   private void showCardLayoutDemo(){
      headerLabel.setText("Layout in action: CardLayout");

      final Panel panel = new Panel();
      panel.setBackground(Color.CYAN);
      panel.setSize(300,300);

      CardLayout layout = new CardLayout();
      layout.setHgap(10);
      layout.setVgap(10);
      panel.setLayout(layout);

      Panel buttonPanel = new Panel(new FlowLayout());

      buttonPanel.add(new Button("OK"));
      buttonPanel.add(new Button("Cancel"));

      Panel textBoxPanel = new Panel(new FlowLayout());

      textBoxPanel.add(new Label("Name:"));
      textBoxPanel.add(new TextField(20));

      panel.add("Button", buttonPanel);
      panel.add("Text", textBoxPanel);

      Choice choice = new Choice();
      choice.add("Button");
      choice.add("Text");

      choice.addItemListener(new ItemListener() {
         public void itemStateChanged(ItemEvent e) {
            CardLayout cardLayout = (CardLayout)(panel.getLayout());
            cardLayout.show(panel, (String)e.getItem());
         }
      });
      controlPanel.add(choice);
      controlPanel.add(panel);

      mainFrame.setVisible(true);
   }
}

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

D:\AWT>javac com\finddevguides\gui\AwtlayoutDemo.java

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

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

次の出力を確認します

AWT CardLayout