本文实例为大家分享了java实现面板之间切换的具体代码,供大家参考,具体内容如下
如图:
关键技术:事件监听,设置显示面板,重新刷新验证。
setContentPane(jp2);//设置显示的新面板
revalidate();//重新验证
完整代码如下:
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();
}
}