カードレイアウトを使ってみましょう

ボタンを押して表示するイメージを変化させよう
クラスのインポートも行っています


import java.applet.Applet;
import java.awt.*;

// 上記2つのお馴染みのimportの他に以下の見慣れないものがあります
// 1つ前の例で作ったMakeCanvクラスをここでも使えるように呼んでいます
// このように自分で新しい部品を作っていけるのがオブジェクト指向の特徴の1つです
import MakeCanv;

public class test_25 extends Applet
	{
	Image img_tmp;

	// カードレイアウトの乗せるパネルを作ります
	Panel p = new Panel();

	// カードレイアウトを作っています
	CardLayout Card = new CardLayout();

	// 押されたボタンの判定のための箱を作っています
	Button tugi,modoru;

	public void init()
		{
		int i;

		// パネルPのレイアウトをカードレイアウトに設定します
		p.setLayout(Card);

		// 以下の内容を10回繰り返します
		for(i=0;i<=9;i++)
			{
			img_tmp = getImage(getDocumentBase(),"gif/test"+i+".gif");

			// パネルPに読み込んだイメージを追加していきます
			p.add(new MakeCanv(img_tmp));
			}

		// 一番大元のレイアウトをボーダーレイアウトに設定します
		setLayout(new BorderLayout());

		// 中央にパネルPを置きます
		add("Center",p);

		// 上部にボタン"Back"を置きます
		add("North",modoru = new Button("Back"));

		// 下部にボタン"Next"を置きます
		add("South",tugi = new Button("Next"));
		}

	// ボタンが押されるとここが呼び出されます	
	public boolean action(Event e,Object o)
		{
		// 押されたボタンが"tugi"かどうかを判定
		if (tugi == e.target)
			{
			// "tugi"だった場合は次のカードの表示
			Card.next(p);
			}
		// "tugi"でないボタン、すなわち"modoru"のボタンが押された場合
		else
			{
			// 前のカードを表示
			Card.previous(p);
			}
		return true;
		}
	} 

上の内容を実行する

上のソース

-----------------------------------
ballJAVAへ戻る
ballトップへ戻る