Closing One Window and Opening Another

Hi there,
I'm simply trying to run a program where I need to completely close one window/papplet and open a new one after an action has been made by the user (e.g. mousePressed). I need something that actually closes the class and opens the new one, not just some code like:
Any help or guidance would be greatly appreciated!


When you run your code in Processing or export it as a standalone app, it is wrapped into a PApplet class with a main function that runs your code.

For example :

void setup() {
  size(500, 500);

void draw() {
  circle(mouseX, mouseY, 50);

Becomes :

import processing.core.PApplet;

public class test_app_export extends PApplet {
  public void setup() {}
  public void draw() {
    circle(this.mouseX, this.mouseY, 50.0F);
  public void settings() {
    size(500, 500);
  public static void main(String[] passedArgs) {
    String[] appletArgs = { "test_app_export" };
    if (passedArgs != null) {
      PApplet.main(concat(appletArgs, passedArgs));
    } else {

So closing the PApplet means closing your application :wink:

One solution is to run another PApplet instance as described here :

But when closing one window, it closes the others. Luckily for us, micycle provided a nice workaround :

You can also stop the main PApplet instance and restart it but you’ll loose memory (you can always save it to a file) :

1 Like