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(); } } |