package lecture.swing;

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.JPanel;

/** CardLayout */
public class LayoutCard extends JFrame implements ActionListener {

 private CardLayout cardLayout;
 private JPanel cardPanel;
 private JButton first;
 private JButton last;
 private JButton next;
 private JButton prev;
 public static void main(String[] args) {
   new LayoutCard();
 }

 private LayoutCard() {
   setTitle("Card Layout");
   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   //
   setLayout(new BorderLayout());
   cardPanel = new JPanel();
   add(cardPanel,BorderLayout.CENTER);
   cardLayout = new CardLayout();
   cardPanel.setLayout(cardLayout);
   cardPanel.add(new JButton("button0"),"button0");
   cardPanel.add(new JButton("button1"),"button1");
   cardPanel.add(new JButton("button2"),"button2");
   cardPanel.add(new JButton("button3"),"button3");
   cardPanel.add(new JButton("button4"),"button4");
   //
   first = new JButton("first");
   first.addActionListener(this);
   add(first,BorderLayout.NORTH);
   last = new JButton("last");
   last.addActionListener(this);
   add(last,BorderLayout.SOUTH);
   next = new JButton("next");
   next.addActionListener(this);
   add(next,BorderLayout.EAST);
   prev = new JButton("prev");
   prev.addActionListener(this);
   add(prev,BorderLayout.WEST);
   //
   pack();
   setVisible(true);
 }

 public void actionPerformed(ActionEvent ev) {
   JButton btn = (JButton)ev.getSource();
   if (btn == first) {
     cardLayout.first(cardPanel);
   }
   else if (btn == last) {
     cardLayout.last(cardPanel);
   }
   else if (btn == next) {
     cardLayout.next(cardPanel);
   }
   else if (btn == prev) {
     cardLayout.previous(cardPanel);
   }
  }
}
//---------------------------------------------------
//・目次 - Swing
//・目次 - Java入門
//・目次 - ビジネスパーソンの常識と非常識
//・目次 - 論理・発想・思考についての考察と鍛え方
//---------------------------------------------------