在处置之前禁用帧

时间:2012-09-08 12:30:14

标签: java multithreading swing jframe dispose

if("Back".equals(e.getActionCommand()))
{
    escape.setVisible(false);
    paused = false;
    running = !running;
    Graphics g = start.getGraphics();
    g.dispose();
    Component glassPane = start.getGlassPane();
    glassPane.setVisible(!glassPane.isVisible());
    Main.main(null);
    Main.running = true;
    start.dispose();
}

这是我的代码,用于禁用我的jframe,加载新的jframe并处理它。每当我这样做,当我回到框架时,我会得到奇怪的图形错误。 One of the graphical errors!

如何完全关闭框架?

1 个答案:

答案 0 :(得分:3)

  • private实例创建public / JFrame(取决于您的代码设计)变量

  • 那么你就不必费心处理可见的JFrame,然后重新创建一个新的

  • 创建classlocal instace,返回带有游戏内容的JPanel

  • 致电JFrame#getContentPane#removeAll(

  • 致电JFrame#getContentPane#add(new GamePanel())

  • 也许有最简单的方法可以将任何内容(取决于您的代码设计)重置为start_up状态

相关问题