/***************************************** 展示利用CardLayout版面管理員的狀況 *************************************************/ import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ui16 extends JFrame implements ActionListener { JButton bot[]=new JButton[16]; JTextField txt; Container c; CardLayout cardl=new CardLayout(); String name; public ui16() { super("UI 版面配置"); int i; for (i=0;i<16;i=i+1) { bot[i]=new JButton("編號:"+i); } txt=new JTextField(10); c=getContentPane(); c.setLayout(cardl);//設定為用cardlayout //注意加入元件的順序 for (i=0;i<16;i=i+1) { name=new String(Integer.toString(i)); c.add(bot[i],name); bot[i].addActionListener(this); } setSize(600,480); setVisible(true); } public void paint(Graphics g) { super.paint(g); } /***按鈕事件的傾聽方法****/ public void actionPerformed(ActionEvent e) //按鈕事件的處理方法 { int i; for (i=0;i<16;i=i+1) { if (e.getSource()==bot[i]) { cardl.next(c); //翻頁 break; } } } public static void main(String args[]) //程式起點 { ui16 app=new ui16(); //畫圖 //處理視窗關閉要求 app.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0);} }); } }