creer_une_seconde_fenetre
Ceci est une ancienne révision du document !
Créer une seconde fenêtre
Processing 3
void settings() { size(200, 400); //fullScreen(2); } void setup() { PApplet.runSketch(platformNames, new SecondApplet()); } void draw() { background(0); fill(255, 0, 0); ellipse(width / 2, height / 2, 100, 100); } public class SecondApplet extends PApplet { public void settings() { size(400, 200); //fullScreen(1); } public void setup() { surface.setTitle("Titre de ma seconde fenetre"); } public void draw() { background(255); fill(0, 255, 0); ellipse(width / 2, height / 2, 100, 100); } } </source> ===Processing 2 === Comment créer une seconde fenêtre et comment interagir avec elle : <source lang="java"> import java.awt.*; PFrame f; autreApplet s; boolean drapeau; void setup() { size(200, 200); s = new autreApplet(); f = new PFrame(s); drapeau = false; } void draw() { background(255, 0, 0); if (s.temoin != drapeau) { drapeau = s.temoin; } if (drapeau) { fill(0, 255, 0); } else { noFill(); } rect(50, 50, 100, 100); } void keyPressed() { if (key == 't') { f.setSize(600, 600); } if (key == ' ') { if (f.isShowing()) { f.setVisible(false); } else { f.setVisible(true); } } } void mousePressed() { if ((mouseX > 50) && (mouseX < 150) && (mouseY > 50) && (mouseY < 150)) { drapeau = !drapeau; s.temoin = !s.temoin; } } public class PFrame extends Frame { public PFrame(autreApplet autre) { setBounds(100, 100, 200, 200); add(autre); autre.init(); setVisible(true); } } public class autreApplet extends PApplet { boolean temoin; public void setup() { size(200, 200); temoin = false; } public void draw() { background(0, 0, 255); if (temoin) { fill(0, 255, 0); } else { noFill(); } rect(50, 50, 100, 100); } void mousePressed() { if ((mouseX > 50) && (mouseX < 150) && (mouseY > 50) && (mouseY < 150)) { temoin = !temoin; } } }
Une deuxième méthode issue du Forum Processing :
static final void main(final String[] args) { final String sketch = Thread.currentThread() .getStackTrace()[1].getClassName(); main(sketch, args); final Class[] nested; try { nested = Class.forName(sketch).getClasses(); } catch (final ClassNotFoundException cause) { throw new RuntimeException(cause); } println(nested); println(); for (int i = 0, ii = max (0, nested.length-2); i != ii; ++i) try { main(nested[i].getName(), args); } catch (final Exception cause) { println(nested[i] + " isn't a PApplet or isn't public static!"); } } void setup() { size(600, 400, P2D); smooth(8); noLoop(); background((color) random(#000000)); } public static final class MyFrame extends PApplet { void setup() { size(300, 200, JAVA2D); noLoop(); println("MyFrame"); } void draw() { background(0); } } public static final class MyApp extends PApplet { void setup() { size(300, 200, JAVA2D); noLoop(); println("MyApp"); } void draw() { background(255); } }
creer_une_seconde_fenetre.1587780496.txt.gz · Dernière modification : 2020/04/25 02:08 de Mushussu