Processing 处理中存在多个窗口的问题
我有一个非常简单的草图,可以打开多个窗口,如下所示:Processing 处理中存在多个窗口的问题,processing,Processing,我有一个非常简单的草图,可以打开多个窗口,如下所示: void setup(){ size(100,100); noLoop(); } void keyPressed(){ String[] args={"Secondary window!"}; SecondWindow window=new SecondWindow(); PApplet.runSketch(args, window); } class SecondWindow extends PApplet{ vo
void setup(){
size(100,100);
noLoop();
}
void keyPressed(){
String[] args={"Secondary window!"};
SecondWindow window=new SecondWindow();
PApplet.runSketch(args, window);
}
class SecondWindow extends PApplet{
void setup(){
size(100,100);
background(~0);
noLoop();
}
void keyPressed(){
exit();
}
}
然而,有一个问题:我如何才能关闭just child窗口?按下子窗口上的[X]键将同时关闭父草图和子草图,函数exit()
也会执行相同的操作
是否有只关闭子小程序的方法?没有列出任何似乎可以做到这一点的方法
谢谢大家! 使用
surface
变量可以访问底层窗口。您可以调用surface.setvisable(false)
来隐藏窗口
void setup(){
size(100,100);
noLoop();
}
void keyPressed(){
String[] args={"Secondary window!"};
SecondWindow window=new SecondWindow();
PApplet.runSketch(args, window);
}
class SecondWindow extends PApplet{
void setup(){
size(100,100);
background(~0);
noLoop();
}
void keyPressed(){
surface.setVisible(false);
}
}
非常感谢。但是,如果用户意外按下[X]按钮(隐藏窗口是很自然的),它仍然会关闭整个草图、父对象和子对象。有没有办法禁用[X]或更改其功能?@Fuzzyzilla当然,您需要访问底层的
JFrame
(您可以通过getNative()
函数访问它),然后调用setDefaultCloseOperation()
函数。谢谢!setVisible()函数工作得很好,但setDeafaultCloseOperation()解决方案却不行。调用该函数似乎没有效果@Fuzzyzilla您将向其传递什么参数?你什么时候叫它?呜呜!意识到我犯了一个错误,没有人打电话给我。然而,现在我遇到了另一个问题:处理不使用JFrame!相反,渲染器使用ResizeableCanvas和SmoothCanvas!