作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在这里有点绝望。我有这个 jFrame,我需要在按 Escape 后关闭。这可以通过使用 keyTyped 事件轻松完成。在 keyTyped 事件中,我尝试使用关闭窗口的 System.exit,但该进程仍在任务管理器中运行(在 netbeans 中,即使我从 jar 文件运行,它仍在任务管理器中运行) .
我已经尝试过 dispose、setVisible(false) 以及其他东西,但似乎没有任何效果。
编辑:
代码
public Sketch(int width, int height)
{
sketch = new JFrame();
area = new JLabel();
sketch.setUndecorated(true);
sketch.setMinimumSize(new Dimension(width, height));
sketch.setSize(width, height);
area.setBounds(0, 0, width, height);
sketch.getContentPane().setLayout(null);
sketch.getContentPane().add(area);
sketch.pack();
sketch.setLocationRelativeTo(null);
sketch.setVisible(true);
sketch.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
imageBGR = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR);
imageGRAY = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY);
keyEvents();
setup();
Thread t = new Thread()
{
@Override
public void run()
{
running=true;
while(running)
draw();
}
};
t.start();
}
private void keyEvents()
{
sketch.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e)
{
if(e.getKeyChar()==KeyEvent.VK_ESCAPE)
{
running=false;
System.exit(0);
}
}
});
}
最佳答案
关闭框架时的默认行为不是退出程序,而只是关闭窗口。为了退出程序,您必须执行以下操作:
jframe.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
关于java - System.exit 后程序仍在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20125614/
我是一名优秀的程序员,十分优秀!