java使用了while(true)语句后关闭不了JFrame如何解决?

 我在制作java游戏,但是使用

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

并不能通过点击退出按钮就退出窗口。在整个程序里面用了while(true)循环,请问各位大佬有没有什么解决办法?

定义静态变量

我现在发现在执行while(true)语句时事件不会检测,因为我试着使用键盘检测

this.addKeyListener(new KeyListener() {
    @Override
    public void keyPressed(KeyEvent e) {
        repaint();
        x += 10;
    }		
});

发现x并没有增加,请教大佬怎么解决,谢谢!