为了账号安全,请及时绑定邮箱和手机立即绑定

如何在JFrame中切换JPanels

如何在JFrame中切换JPanels

守候你守候我 2019-07-31 11:03:26
如何在JFrame中切换JPanels关于javas组件的相当绿色等等,请原谅我,如果我提供的信息不够!考虑下面的代码。添加菜单和菜单显示在框架中,没有问题。我想在调用gameOn()时删除菜单而不是启动游戏。下面的代码只使Frames表面“空白”,没有添加游戏面板。有关如何修复它的任何想法/建议?MenuPanel有一个mouselistener。public class GameFrame extends JFrame {private MenuPanel mp; //extends JPanelprivate GamePanel gp; //extends JPanelpublic GameFrame() {     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     setSize(new Dimension(GameFrame.XSIZE, GameFrame.YSIZE));     setLocationRelativeTo(null);     setVisible(true);     mp = new MenuPanel(this);     add(mp);}public void gameOn() {     remove(mp);     GamePanel gp = new GamePanel(5);     add(gp);}}
查看完整描述

3 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

添加GamePanel后,执行 validate();


public void gameOn() {

remove(mp);

gp = new GamePanel(5);

add(gp);

validate();

}


查看完整回答
反对 回复 2019-07-31
?
aluckdog

TA贡献1847条经验 获得超7个赞

你需要repaint()在删除一个面板并添加另一个面板后,setVisible(true)应该在将组件添加到框架后完成,我建议在EDT线程上进行大量的UI更改,以避免干扰。


查看完整回答
反对 回复 2019-07-31
  • 3 回答
  • 0 关注
  • 468 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号