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); } } }