我正在开发一个程序并且关闭它时遇到问题。 我向听众添加了以下内容:
KeyListener kl = new KeyAdapter() {
public void keyPressed(KeyEvent evt) {
if(evt.getKeyCode()== KeyEvent.VK_ESCAPE) {
shutdown();
}
}
};
WindowListener wl = new WindowAdapter() {
public void windowClosing(WindowEvent e){
shutdown();
}
};
public void shutdown()
{
frame.dispose();
System.exit(0);
//dispose of a buffer
}
我也设置了:
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
如果我在eclipse中运行该程序,则两个侦听器都会关闭该程序并终止该进程。但是,如果我使用runnable .jar运行它,只有keylistener正常工作。关闭窗口通常会将其关闭,但过程不会终止。为什么会这样,我该如何解决这个问题?