Java Panel与Frame

关于Java的,我定义了2个类MainScene和stageManager,MainScene继承了JFrame,stageManager继承了JPanelMainSce... 关于Java的,
我定义了2个类MainScene和stageManager,MainScene继承了JFrame,stageManager继承了JPanel

MainScene的构造函数里这样写:
super("雷电");
省略…………………………

setSize(MainScene.WIDTH,MainScene.HEIGHT);
this.setResizable(false);
this.setLocationRelativeTo(null);
setVisible(true);

MainScene的按钮函数里这样写:
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("开始游戏"))
{

stageManager = new StageManager(this);
setContentPane(stageManager);
repaint();

StageManager的构造函数是这样写的:
this.setLayout(null);
this.setSize(MainScene.WIDTH,MainScene.HEIGHT);
ImageIcon stageSelectImg = new ImageIcon("background\\stageSelectImg.png");
JLabel stageSelect = new JLabel();
stageSelect.setBounds(0, 0, MainScene.WIDTH,MainScene.HEIGHT);
this.add(stageSelect);

运行结果是有一个窗口,但是点击按钮之后,按钮正常触发了,按钮消失了,其他没有变化,还是MainScene里的那张图,为什么?
另外还想问如何达到场景转换效果,比如场景a有一些控件,场景b有一些别的控件,在场景a点击一个按钮就跳到场景b,但是a和b不是两个窗口,而是a 和 b是同一个窗口
JLabel stageSelect = new JLabel();
刚才是打错了,应该是

JLabel stageSelect = new JLabel(stageSelectImg);
展开
 我来答
手机用户45878
2014-09-13 · TA获得超过120个赞
知道答主
回答量:106
采纳率:0%
帮助的人:114万
展开全部
Frame是框架窗体,有边框的,Panel是面板,无边框,一般把几个Panel加到一个Frame上

Sun公司的定义:Frame是带标题和边框的最顶层窗体;Panel是个最简单的容器类,它提供空间让程序放其它组件,包括其它Panel。

添加到容器中的组件放在一个列表中。列表的顺序将定义组件在容器内的正向堆栈顺序。如果将组件添加到容器中时未指定索引,则该索引将被添加到列表尾部(此后它位于堆栈顺序的底部)。

public Component getComponent(int n) 获得此容器中的第 n 个组件。public Component[] getComponents() 获得此容器中的所有组件。
这样可以么?
abcwt112
推荐于2016-11-03 · TA获得超过281个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:186万
展开全部
1.
actionPerformed是谁的actionPerformed?按钮的吗?那setContentPanel又是谁的方法?

另外你的StageManager的setSize方法没啥用处.因为都会被JFrame拉伸到布满整个JFrame.

如果被拉伸以后setBounds还是不是你原来想的那个位置我就不知道了.你可以在MainScene里使用布局试试.

2.
ab之间转换要看你自己是怎么想的..有很多方法.比如ab是两个JFrame.切换的时候一个show一个hide.按你的要求要在一个JFrame上面的话可以做成2个JPanel.然后Jframe用cardlayout.这样切换的时候就是一个panel隐藏一个显示.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式