Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2014-05-17 17:38:19 Comment créer 2 fenêtres

Miaou
membre
Date d'inscription: 2014-04-20
Messages: 30

Comment créer 2 fenêtres



Salut, je n'arrive pas à créer 2 fenêtres avec ControlFrame. J'ai d'abords séparé, puis regroupé, en ne mettant plus f= new Frame...  mais avec fj par exemple. Mais je n'y arrive pas

Pouvez-vous m'aider s'il vous plaît?

Hors ligne

 

#2 2014-05-23 20:24:01 Re : Comment créer 2 fenêtres

chrisjo
membre
Date d'inscription: 2012-12-26
Messages: 22

Re: Comment créer 2 fenêtres



Bonjour,
dans le dossier de controlIP5/examples/extra/controlIP5frame
il y a un exemple

/**
 * ControlP5 Controlframe
 * with controlP5 2.0 all java.awt dependencies have been removed
 * as a consequence the option to display controllers in a separate
 * window had to be removed as well. 
 * this example shows you how to create a java.awt.frame and use controlP5
 *
 * by Andreas Schlegel, 2012
 * www.sojamo.de/libraries/controlp5
 *
 */

import java.awt.Frame;
import java.awt.BorderLayout;
import controlP5.*;

private ControlP5 cp5;

ControlFrame cf;

int def;

void setup() {
  size(400, 400);
  cp5 = new ControlP5(this);
  
  // by calling function addControlFrame() a
  // new frame is created and an instance of class
  // ControlFrame is instanziated.
  cf = addControlFrame("extra", 200,200);

  // add Controllers to the 'extra' Frame inside 
  // the ControlFrame class setup() method below.
  
  
}

void draw() {
  background(def);
}

ControlFrame addControlFrame(String theName, int theWidth, int theHeight) {
  Frame f = new Frame(theName);
  ControlFrame p = new ControlFrame(this, theWidth, theHeight);
  f.add(p);
  p.init();
  f.setTitle(theName);
  f.setSize(p.w, p.h);
  f.setLocation(100, 100);
  f.setResizable(false);
  f.setVisible(true);
  return p;
}


// the ControlFrame class extends PApplet, so we 
// are creating a new processing applet inside a
// new frame with a controlP5 object loaded
public class ControlFrame extends PApplet {

  int w, h;

  int abc = 100;
  
  public void setup() {
    size(w, h);
    frameRate(25);
    cp5 = new ControlP5(this);
    cp5.addSlider("abc").setRange(0, 255).setPosition(10,10);
    cp5.addSlider("def").plugTo(parent,"def").setRange(0, 255).setPosition(10,30);
  }

  public void draw() {
      background(abc);
  }
  
  private ControlFrame() {
  }

  public ControlFrame(Object theParent, int theWidth, int theHeight) {
    parent = theParent;
    w = theWidth;
    h = theHeight;
  }


  public ControlP5 control() {
    return cp5;
  }
  
  
  ControlP5 cp5;

  Object parent;

  
}

sinon il y a aussi :

 import java.awt.Frame;
    PFrame f;
    secondApplet s;
    PGraphics pg;
    void setup() {
    size(620, 240);
    PFrame f = new PFrame();
   
    }
    void draw() {
      
      background(255,0,0);
       fill(255);
       rect(10,10,10,10,10);
       
      s.background(0, 0, 255);
        s.fill(100);
       s.rect(10,20,10,100,5);
       s.image(pg,300,100);
      // s.redraw();
        if(s.mousePressed)background(0,150,100);
       if(mousePressed)   {exit();}
        
    }
    public class PFrame extends Frame {
        public PFrame() {
            setBounds(1680,0,600,300);
            s = new secondApplet();
            add(s);
            s.init();
            show();
            
           
        }
    }
    public class secondApplet extends PApplet {
        public void setup() {
    pg=createGraphics(50,50);
    pg.beginDraw();
    pg.fill(250);
    pg.background(0,250,0);
    pg.endDraw();
    
           
           // noLoop();
        }
        public void draw() {
         // image(pg,300,100);
        }
    }

voilà

Hors ligne

 

#3 2014-05-25 17:04:07 Re : Comment créer 2 fenêtres

Miaou
membre
Date d'inscription: 2014-04-20
Messages: 30

Re: Comment créer 2 fenêtres



Ah très bien, Merci beaucoup de ton aide!

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024