CardLayout的应用
import java.awt.CardLayout;import java.awt.FlowLayout;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel; public class Test extends JFrame { static CardLayout Card = new CardLayout(5,5); static JPanel JPane1=new JPanel(); static JPanel JPane3=new JPanel(Card); JButton b1=new JButton("切换2"); public void Test() { JPane1.add(new TextField("其实的面板,不可缺少,否则第一次会覆盖")); JPane3.add(JPane1, "jp1"); b1.addActionListener(new MyEvent()); }/**监听类*/ class MyEvent implements ActionListener { public void actionPerformed(ActionEvent e) { JPanel JPane2=new JPanel(); JPane2.add(new TextField("点击后出现的面板")); JPane3.add(JPane2,"jp2"); Card.show(JPane3, "jp2"); } } public static void main(String[] args){ Test test = new Test(); test.Test(); test.add(JPane3); test.add(test.b1); test.setLayout(new FlowLayout()); test.setSize(500,500); test.setVisible(true); test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }