JTabbedPane クラス

import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.util.*;

public class Test {
	public static void main (String[] args)
	{
		Win win = new Win("Test Window");
	}
}

/*******************/
/* クラスWinの定義 */
/*******************/
class Win extends JFrame implements ChangeListener {

	String str[] = {"hana1.gif", "hana2.gif", "hana3.gif"};
	JTabbedPane tp;
	JLabel lb[] = new JLabel [3];

	/******************/
	/* コンストラクタ */
	/******************/
	Win (String name)
	{
					// Frameクラスのコンストラクタ(Windowのタイトルを引き渡す)
		super(name);
					// ラベル
		for (int i1 = 0; i1 < 3; i1++)
			lb[i1] = new JLabel();

		ImageIcon im = new ImageIcon(str[0]);
		lb[0].setIcon(im);

					// タブペインの定義
		Font f = new Font("MS 明朝", Font.PLAIN, 20);

		tp = new JTabbedPane();
		tp.setFont(f);
		tp.addChangeListener(this);
		tp.addTab("桜", lb[0]);
		tp.addTab("紫陽花", lb[1]);
		tp.addTab("朝顔", lb[2]);

		getContentPane().add(tp);
					// Windowの大きさ
		setSize(270, 300);
					// ウィンドウを表示
		setVisible(true);
					// イベントアダプタ
		addWindowListener(new WinEnd());
	}

	/******************************/
	/* 上,左,下,右の余白の設定 */
	/******************************/
	public Insets getInsets()
	{
		return new Insets(35, 10, 10, 10);
	}

	/**********************************/
	/* タブの位置が変化したときの処理 */
	/**********************************/
	public void stateChanged(ChangeEvent e)
	{
		if (e.getSource() == tp) {
			int k = tp.getSelectedIndex();
			ImageIcon im = new ImageIcon(str[k]);
			lb[k].setIcon(im);
		}
	}

	/************/
	/* 終了処理 */
	/************/
	class WinEnd extends WindowAdapter
	{
		public void windowClosing(WindowEvent e) {
			System.exit(0);
		}
	}
}