java退出怎么写( 二 )


e1.printStackTrace();
}
}
当按下F1时,while循环将一直执行if( 。.= KeyEvent.VK_F1)内的代码,此时查看系统CPU一定会发现占用较高 。
同时,新的按键F2事件无法得到调用,因为CPU在忙着执行while的代码 。
改动的办法很简单,F5的触发就相当于是一个自动机,F1是触发F5的自动运行,F2是终止运行
只需要将F5触发的事件监听跟F2,F1都绑定到keypress函数中去,然后当检查到按键是F5时,则重新创建robot对象,延迟5秒触发keypress 。
改动代码如下:
public void keyPressed(KeyEvent e) {
//System.out.println(e.getKeyCode());
//while (true) { //删除
// System.out.println(1);
//追加F5的处理
if(e.getKeyCode() == KeyEvent.VK_F5){
//重新创建robot执行计划
flash();
return; //结束事件处理,优化性能
}
if (e.getKeyCode() == KeyEvent.VK_F2) {
jfFrame.dispose();
return; //阻止代码继续执行
}
if (e.getKeyCode() == KeyEvent.VK_F1)
try {
flash();
} catch (AWTException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
//} //删除end while
}

java退出怎么写

文章插图