本文實例為大家分享了java佈局管理之CardLayout的具體代碼,供大家參考,具體內容如下
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;import javax.swing.JTextArea;public class TestCard implements ActionListener{ private JFrame fm=new JFrame("卡片的測試"); private JPanel cardpan,containbtn; //cardpan為卡片顯示區域, containbtn為按鈕顯示區域private JButton btn1,btn2,btn3,btn4; //此處定義詩人的按鈕private JPanel pan1,pan2,pan3,pan4; //此處定義的面板中顯示詩句private CardLayout card; //定義卡片佈局private JTextArea ta1,ta2,ta3,ta4; //定義放詩句的文本域public TestCard(){ //以下為初始化組件cardpan=new JPanel(); containbtn=new JPanel(); card=new CardLayout(); cardpan.setLayout(card); btn1=new JButton("李白"); btn2=new JButton("杜甫"); btn3=new JButton("白居易"); btn4=new JButton("孟浩然"); ta1=new JTextArea(30,30); ta2=new JTextArea(30,30); ta3=new JTextArea(30,30); ta4=new JTextArea(30,30); //把定義的按鈕放到顯示按鈕的面板中containbtn.add(btn1); containbtn.add(btn2); containbtn.add(btn3); containbtn.add(btn4); pan1=new JPanel(); //給按鈕添加監聽事件btn1.addActionListener(this); btn2.addActionListener(this); btn3.addActionListener(this); btn4.addActionListener(this); //給定義的文本域中添加詩人相應的詩句ta1.append("日照香爐生紫煙,/r/n"); ta1.append("遙看瀑布掛前川。/r/n"); ta1.append("飛流直下三千尺,/r/n"); ta1.append("疑是銀河落九天。"); ta2.append("兩個黃鸝鳴翠柳,/r/n"); ta2.append("一行白鷺上青天。/r/n"); ta2.append("窗含西嶺千秋雪,/r/n"); ta2.append("門泊東吳萬里船。"); ta3.append("一道殘陽鋪水中,/r/n"); ta3.append("半江瑟瑟半江紅。/r/n"); ta3.append("可憐九月初三夜,/r/n"); ta3.append("露似珍珠月似弓。"); ta4.append("春眠不覺曉,/r/n"); ta4.append("處處聞啼鳥。/r/n"); ta4.append("夜來風雨聲,/r/n"); ta4.append("花落知多少。"); pan1.add(ta1); pan2=new JPanel(); pan2.add(ta2); pan3=new JPanel(); pan3.add(ta3); pan4=new JPanel(); pan4.add(ta4); //把定義好的面板放到卡片佈局的組件中cardpan.add("b1",pan1); cardpan.add("b2",pan2); cardpan.add("b3",pan3); cardpan.add("b4",pan4); fm.add(containbtn,BorderLayout.NORTH);//把顯示按鈕的組件放到上面顯示fm.add(cardpan,BorderLayout.CENTER);//把顯示文本域的組件放到中間顯示fm.setSize(400,400); fm.setLocation(200,100); fm.setVisible(true); fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new TestCard(); }public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub /** * e.getActionCommand()顯示的結果是對應組件上的內容標籤* card.show(cardpan, "b1");表示對應組件和顯示組件的名稱* CardLayout.show(Container parent, String name):顯示卡片的實現方法定義*/ if("李白".equals(e.getActionCommand())){ card.show(cardpan, "b1"); } if("杜甫".equals(e.getActionCommand())){ card.show(cardpan, "b2"); } if("白居易".equals(e.getActionCommand())){ card.show(cardpan, "b3"); } if("孟浩然".equals(e.getActionCommand())){ card.show(cardpan, "b4"); }}}以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。