コンストラクタ | 説明 | 引数 | 引数説明 |
---|---|---|---|
CardLayout() | 隙間を空けずに CardLayout を作成 |
- | - |
CardLayout(int hgap, int vgap) | 隙間を空けた CardLayout を作成 |
hgap | 水平方向間隔 |
vgap | 垂直方向間隔 |
メソッド | メソッド説明 |
---|---|
first | コンテナの最初のカードに切り替え |
previous | コンテナの前のカードに切り替え |
next | コンテナの次のカードに切り替え |
last | コンテナの最後のカードに切り替え |
show | 指定の名前のカードに切り替え |
import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; /** * LayoutManager サンプル03 * ・CardLayout * ・隙間を設定 * ・カードの切り替え * ・指定カードの切り替え * * @author みっちー */ public class LayoutManager03 extends JFrame implements ActionListener { private JPanel panelBase = null; private CardLayout layout = null; /** * 開始メソッド * * @param args パラメータ */ public static void main(String[] args){ LayoutManager03 frame = new LayoutManager03(); // 閉じるボタンをクリックされた場合の動作を設定 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // ウインドウのタイトルを設定 frame.setTitle("LayoutManager サンプル03[CardLayout]"); // フレームの X座標、Y座標、幅、高さを設定 frame.setBounds(100, 200, 500, 150); // フレームを表示(これをしないと透明のフレームが立ち上がってしまう) frame.setVisible(true); } /** * コンストラクタ */ public LayoutManager03() { // ベースとなるパネルを[CardLayout]として作成 panelBase = new JPanel(); // 隙間を設定 layout = new CardLayout(10, 10); panelBase.setLayout(layout); // パネル1 JPanel panel1 = new JPanel(); panel1.add(new JLabel("パネル1")); // パネル2 JPanel panel2 = new JPanel(); panel2.add(new JLabel("パネル2")); // パネル3 JPanel panel3 = new JPanel(); panel3.add(new JLabel("パネル3")); // パネル4 JPanel panel4 = new JPanel(); panel4.add(new JLabel("パネル4")); // パネルを追加 panelBase.add(panel1, "1"); panelBase.add(panel2, "2"); panelBase.add(panel3, "3"); panelBase.add(panel4, "4"); // ボタンを作成(カードをめくるボタン) // アクションの詳細は JButton のサンプルを参照して下さい JButton buttonFirst = new JButton("First"); buttonFirst.addActionListener(this); buttonFirst.setActionCommand("First"); JButton buttonPrevious = new JButton("Previous"); buttonPrevious.addActionListener(this); buttonPrevious.setActionCommand("Previous"); JButton buttonNext = new JButton("Next"); buttonNext.addActionListener(this); buttonNext.setActionCommand("Next"); JButton buttonLast = new JButton("Last"); buttonLast.addActionListener(this); buttonLast.setActionCommand("Last"); JButton button3 = new JButton("3"); button3.addActionListener(this); button3.setActionCommand("3"); // ボタンを追加 JPanel panelButton = new JPanel(); panelButton.add(buttonFirst); panelButton.add(buttonPrevious); panelButton.add(buttonNext); panelButton.add(buttonLast); panelButton.add(button3); // パネルを追加 getContentPane().add(panelBase, BorderLayout.CENTER); getContentPane().add(panelButton, BorderLayout.SOUTH); } /** * アクション * 詳細は JButton のサンプルを参照してね */ public void actionPerformed(ActionEvent e){ String cmd = e.getActionCommand(); if (cmd.equals("First")){ // 最初のカード layout.first(panelBase); }else if (cmd.equals("Last")){ // 前ののカード layout.last(panelBase); }else if (cmd.equals("Next")){ // 次のカード layout.next(panelBase); }else if (cmd.equals("Previous")){ // 最後のカード layout.previous(panelBase); }else if (cmd.equals("3")){ // "3"のカード layout.show(panelBase, "3"); } } }
2016/05/13 Windows 8.1 + Java 7 環境で全体を見直し 2007/12/07 新規作成