如何实现jpanel之间切换(高分在线等)

来源:百度知道 编辑:UC知道 时间:2024/07/02 02:35:06
我要在一个窗体上根据情况轮流显示3个面板
比如P1上有一个按钮,点击之后窗体只显示P2,P2上有“返回”按钮可以回到P1等等
该如何实现?该用什么布局比较好?窗体和3个面板都是独立的类,它们之间该如何互相控制?比如P1的事件中要控制窗体类做某些动作,怎么写?或者提供一种更好的实现方法。
请写出关键部分的代码和事件中的代码!
都玩过幻想游戏吧,我就想做成那样。在几个面板之间自由切换,需要一个好的思路

给你写了个简单的例子,自己看吧
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Test extends JFrame
{
JPanel contPanel = new JPanel();
JPanel pane1 = new JPanel();
JPanel pane2 = new JPanel();
JButton next = new JButton("下一个");
JButton pre = new JButton("上一个");
public Test()
{
setBounds(0,0,200,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

contPanel.add(pane1);

pane1.add(next);
pane2.add(pre);
next.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
contPanel.remove(pane1);
contPanel.add(pane2);
contPanel.revalidate();
contPanel.repaint();
}
});
pre.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
contPanel.remove(pane2);
contPanel.add(pane1);
contPanel.revalidate();
contPa