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

我要在一个窗体上根据情况轮流显示3个面板比如P1上有一个按钮,点击之后窗体只显示P2,P2上有“返回”按钮可以回到P1等等该如何实现?该用什么布局比较好?窗体和3个面板都... 我要在一个窗体上根据情况轮流显示3个面板
比如P1上有一个按钮,点击之后窗体只显示P2,P2上有“返回”按钮可以回到P1等等
该如何实现?该用什么布局比较好?窗体和3个面板都是独立的类,它们之间该如何互相控制?比如P1的事件中要控制窗体类做某些动作,怎么写?或者提供一种更好的实现方法。
请写出关键部分的代码和事件中的代码!
都玩过幻想游戏吧,我就想做成那样。在几个面板之间自由切换,需要一个好的思路
展开
 我来答
seekfor_
2008-08-13 · TA获得超过371个赞
知道小有建树答主
回答量:170
采纳率:66%
帮助的人:181万
展开全部
给你写了个简单的例子,自己看吧
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();
contPanel.repaint();
}
});

setContentPane(contPanel);
setVisible(true);
}
public static void main(String [] args)
{
new Test();
}
}
因为你的JPanel和JFrame是独立的类,所以可以在其中增加几个get..和set...的函数,把相应的对象赋过去
wufisher
2008-08-13 · TA获得超过3960个赞
知道小有建树答主
回答量:621
采纳率:0%
帮助的人:632万
展开全部
为何不用选项卡,好像叫JTabedPane

如果非要直接用JPanel,也可以用。
把你的那些JPanel都作为你的JFrame的属性。

然后点击时触发事件,删除不需要的选项卡,添加需要的JPanel
this.getContentPane().remove(jPanel1);
this.getContentPane().add(jPanel2);
this.validate();
差不多是这样。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c53a071
2008-08-13 · TA获得超过697个赞
知道小有建树答主
回答量:2622
采纳率:0%
帮助的人:935万
展开全部
通常这种情况我就用隐藏属性来完成
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你我皆凡人0V
2008-08-13 · TA获得超过392个赞
知道小有建树答主
回答量:806
采纳率:0%
帮助的人:648万
展开全部
SWT 里面的 Composite可以实现你要的功能
SWING没研究
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式