We are about to switch to a new forum software. Until then we have removed the registration on this forum.
//So I am trying to build a GUI to control my main display. I can call things like ellipse() but not my own classes such as my Button classes.
    ControlPanel controlP;
    ButtonOne buttonOne;
    boolean buttOne, flag;
    float buttRad = 33/2, buttX, buttY;
    public void settings() {
      size(500, 500, P3D);
      buttonOne = new ButtonOne();
    }
    void setup() {
      surface.setTitle("MainDisplay");
      controlP = new ControlPanel();
      buttOne = false;
      flag = false;
    }
    void draw() {
      if (buttOne) {
        background(255);
        buttonOne.buttOn();
      } else {
        background(0);
        buttonOne.buttOff();
      }
      if (!flag) {
        surface.setLocation(0, 0);
        flag = true;
      }
    }
    void mousePressed() {
      float buttDist = dist(mouseX, mouseY, buttX, buttY);
      buttX = width/2;
      buttY = height/2;
      if (buttDist < buttRad) {
        buttOne = !buttOne;
      }
    }
    class ControlPanel extends PApplet {
    ButtonTwo buttonTwo;
      ControlPanel() {
        super();
        PApplet.runSketch(new String[] {this.getClass().getSimpleName()}, this);
        surface.setLocation(0, 550);
      }
      void settings() {
        size(500, 500, P3D);
        buttonTwo = new ButtonTwo();
      }
      void setup() {
      }
      void draw() {
          if (buttOne) {
          background(0);
          buttonTwo.buttTwoOn();
        } else {
          background(255);
          buttonTwo.buttTwoOff();
        }
        //if (!flag) {
        //  surface.setLocation(700, 200);
        //  flag = true;
        //}
      }
      void mousePressed() {
        float buttDist = dist(mouseX, mouseY, buttX, buttY);
        buttX = width/2;
        buttY = height/2;
        if (buttDist < buttRad) {
          buttOne = !buttOne;
        }
      }
    }
    class ButtonOne {
      ButtonOne() {
      }
      void buttOn() {
        ellipseMode(CENTER);
        noStroke();
        fill(0);
        ellipse(width/2, height/2, 33, 33);
      }
      void buttOff() {
        ellipseMode(CENTER);
        noStroke();
        fill(255);
        ellipse(width/2, height/2, 33, 33);
      }
    }
    class ButtonTwo {
      ButtonTwo() {
      }
      void buttTwoOn() {
        ellipseMode(CENTER);
        noStroke();
        fill(255);
        ellipse(width/2, height/2, 33, 33);
      }
      void buttTwoOff() {
        ellipseMode(CENTER);
        noStroke();
        fill(0);
        ellipse(width/2, height/2, 33, 33);
      }
    }
Answers
Only 1 PApplet can use an OpenGL-based renderer! [-X
That is good to know. I still have the same issue when removing the renderer altogether. Any class I write fails to call on the second window.
Additionally, how does one use OpenGL based renderer on multiple windows?
Like I said, only 1 can use an OpenGL renderer (P2D & P3D).
All the others go w/ JAVA2D instead.
I guess 1 can be FX2D too. :-bd
Thank you! That is very helpful ...
why do you suppose my objects won't call on my additional window?
That's a diff. matter. You should post your most updated code too.
Also look up old solutions for runSketch():
https://forum.Processing.org/two/discussions/tagged?Tag=papplet.runsketch()
Thank you @GoToLoop!
Figured out where my problem was ... you can see my edits in ButtonTwo class and Control Panel class.