| 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; public class ceshi2 extends JFrame{ ? ? JButton b1; ? ? JButton b2; ? ? JButton b3; ? ? JButton b4; public ceshi2() { ? ? setBounds(200, 150, 500, 300);//设置窗体大小,位置。 ? ? JPanel jp1=new JPanel();//设置两个面板 ? ? JPanel jp2=new JPanel(); ? ? b1=new JButton("下一步"); ? ? b2=new JButton("路人甲");//按钮2和4,标签1和2显示成果 ? ? b3=new JButton("上一步"); ? ? b4=new JButton("路人乙"); ? ? JLabel l1=new JLabel("这是第一个面板"); ? ? JLabel l2=new JLabel("这是第二个面板"); ? ? b1.setBounds(20, 20, 100, 40); ? ? b2.setBounds(20, 120, 100, 40); ? ? b3.setBounds(20, 20, 100, 40); ? ? b4.setBounds(20, 120, 100, 40); ? ? l1.setBounds(100, 300, 200, 50); ? ? l2.setBounds(100, 300, 200, 50); ? ? jp1.add(b1);//添加到面板1中 ? ? jp1.add(b2); ? ? jp1.add(l1); ? ? jp2.add(l2);//添加到面板2中 ? ? jp2.add(b3); ? ? jp2.add(b4); ? ? add(jp1);//首先显示的是面板1 ? ? b1.addActionListener(new ActionListener() {//添加监听 ? ? ? ?? ? ? ? ? @Override ? ? ? ? public void actionPerformed(ActionEvent e) { ? ? ? ? ? ? // TODO Auto-generated method stub ? ? ? ? ? ? ? ? ? ? ? ? setContentPane(jp2);//设置显示的新面板 ? ? ? ? ? ? revalidate();//重新验证 ? ? ? ? ? ?? ? ? ? ? } ? ? }); ? ? b3.addActionListener(new ActionListener() { ? ? ? ? public void actionPerformed(ActionEvent e) { ? ? ? ? ? ? // TODO Auto-generated method stub ? ? ? ? ? ? ? ? ? ? ? ? setContentPane(jp1); ? ? ? ? ? ? revalidate(); ? ? ? ? } ? ? }); ? ? setVisible(true); ? ? setLayout(null); ? ? setDefaultCloseOperation(EXIT_ON_CLOSE); } public static void main(String[] args) { ? ? new ceshi2(); } } |