我想在退出处理草图时执行一些操作。我在论坛上发现,在应用程序退出之前会调用stop()方法。我试过了,但在我看来它从来没有被调用过。下面是一个最小的(不起作用的)示例:
void setup()
{
size(100, 100);
println("start");
}
void draw()
{
//nothing here
}
void stop()
{
println("called stop()");
super.stop();
}当退出应用程序时,通过IDE上的停止按钮或应用程序上的X按钮,我从未看到消息“已调用停止()”。我尝试了使用和不使用super.stop(),没有任何变化。谢谢
在Linux Debian Wheezy上处理2.2.1
发布于 2015-02-23 21:48:00
stop()函数是PApplet扩展小程序时遗留下来的。除非部署为applet,否则stop()函数将永远不会被调用。即使您部署为applet,仍然不能保证调用stop()函数!有关详细信息,请访问PApplet API。
假设您正在使用Java模式,您可能会考虑添加一个关闭钩子,或者只是在框架中添加一个WindowListener。
发布于 2015-02-24 18:29:20
除了凯文的答案之外,您还可以重写exit()方法:
void setup(){
println("start");
}
void draw(){}
void exit(){
println("stop");//do your thing on exit here
super.exit();//let processing carry with it's regular exit routine
}https://stackoverflow.com/questions/28671706
复制相似问题