java初心者です、アドベンチャーゲームを作っているのですが
ゲームオーバーになった時にタイトル画面に戻したいです
なので

pChild.removeAll();
jpChild.add(jlChild);
jpChild2.removeAll();
jpChild2.add(jlMain);

としたのですが、反映されていませんでした。
どうしてでしょうか?
そして進む時と戦闘処理のようなものをZキーでしているのですが
コードがとてもわかりづらく幼稚なものになってしまいます。
このコードの改善点を教えてください。知恵を貸してください…

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.Font;
import java.awt.Color;
import java.awt.Image;
import java.io.File;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import java.awt.event.*;
import java.awt.*;

    //省略

    case KeyEvent.VK_Z :
        if (joutai == 0){
            Programer(HP,IQ,EQ,kyori);
            kyori++;    //進む
            jlMain.setText(Programer(HP,IQ,EQ,kyori));
            int ran = (int)(Math.random()*10);
            if (ran == 1){
                jlChild.setText(PutEnemy(JHP,JIQ));
                joutai = joutai + 1;
            }
        }
        if(joutai == 1){
            JHP = JHP - IQ;
            jlChild.setText(PutEnemy(JHP,JIQ));
            HP = HP - JIQ;
            if (HP <=0 ){
                jlChild.setText("GAME OVER");
                jpChild.removeAll();
                jpChild.add(jlChild);
                jpChild2.removeAll();
                jpChild2.add(jlMain);
            }
        }