public GeneratorGuiCreator(PApplet parentPapplet, int maximalXSize, int maximalYSize, String version) {
int nrOfScreens = Collector.getInstance().getAllVisuals().size();
LOG.log(Level.INFO, "create GUI, nr of screens: "+nrOfScreens);
Generator g = Collector.getInstance().getPixelControllerGenerator().getGenerator(0);
WindowSizeCalculator wsc = new WindowSizeCalculator(g.getInternalBufferXSize(),
g.getInternalBufferYSize(), maximalXSize, maximalYSize, nrOfScreens);
//connect the new PApplet to our frame
gui = new GeneratorGui(wsc);
gui.init();
//create new window for child
LOG.log(Level.INFO, "Create new window: "+wsc);
JFrame childFrame = new JFrame("PixelController Generator Window "+version);
childFrame.setResizable(false);
childFrame.setIconImage(createLargeIcon(gui));
childFrame.add(gui);
childFrame.setBounds(0, 0, wsc.getWindowWidth(), wsc.getWindowHeight()+30);
gui.setBounds(0, 0, wsc.getWindowWidth(), wsc.getWindowHeight()+30);
// important to call this whenever embedding a PApplet.
// It ensures that the animation thread is started and
// that other internal variables are properly set.
childFrame.setVisible(true);