Aller au contenu


Photo
- - - - -

Bouton sous Processing


  • Veuillez vous connecter pour répondre
2 réponses à ce sujet

#1 philou-RX

philou-RX

    Habitué

  • Membres
  • PipPip
  • 261 messages
  • Gender:Male
  • Location:Riviera - Vaudoise
  • Interests:Electronique / Informatique / Robotique / BD / et surtout les boissons fermentées au houblon

Posté 14 janvier 2013 - 11:10

Bonjour tous le monde,

Je suis entrain de réaliser une petite interface sous "Processing" pour récupérer des infos de quelques capteurs de température. J'ai réussi à saisir différentes infos des capteurs, mon problème se trouve maintenant sur la gestion de mon interface graphique. J'ai créé une nouvelle fenêtre, qui contient 2 boutons, ca c'est ok...

Le problème sur la gestion des boutons, je n'ai pas trouvé d'exemple ou d'explication pour savoir comment interagir avec ces nouveaux éléments. J'utilise la libraire "controlP5" (je me suis servis de ce site : Lien_ControlP5), mais je n'ai pas compris comment utilise les différentes procédures proposées.


voici quelques bouts de code que j'ai réalisé :

configuration des touches:
void setup() 
{
  //....

  //--- initialisation des objets -> touche b_Lancer et b_Arreter ---//
  // Remarque : addButton (String theName, float theValue, int theX, int theY, int theW, int theH)
  b_Lancer = controle_B.addButton("Lancer", 0, 50, 150, 50, 24);       // initialise et ajoute un Button au ControlP5 --> lancer 
  b_Arreter = controle_B.addButton("Arreter", 0, 300, 150, 50, 24);    // initialise et ajoute un Button au ControlP5 --> arrêter 

  //...


évènements lié aux touches:
public void controlEvent(ControlEvent theEvent) 
{
  // ???
  // je ne sais pas quoi mettre comme code dans cette partie 
  
}

touche en elle-même:
void b_Lancer(boolean val_event)
{
  // ???
  // ici aussi je ne sais pas quoi mettre 
  // simplement qu'avec l'évènement lié je voulais changer le 
  // background de la fenêtre 
  background(255,255,255);                 // fond fenetre en 
  
}

Voilà donc actuellement je suis un peu bloqué dans cette partie alors si vous avez des idées, je suis preneur de code exemple, de suggestions - idées, de docs ou site internet, etc

En grand merci de me lire

Amicalement le cht'y Philou
Amicalement PHILOU QUI a BU, BOIRA !!! VU euh non BU! alcoolique non, assoiffé OUI^^ :P :|

#2 Mic*

Mic*

    Habitué

  • Membres
  • PipPip
  • 232 messages
  • Gender:Male
  • Location:Sarthe
  • Interests:électronique, jardin, promenade,bricolage

Posté 15 janvier 2013 - 09:10

Salut

il y a un tuto qui peut t'aider sur ce site

Mon lien


A++

#3 philou-RX

philou-RX

    Habitué

  • Membres
  • PipPip
  • 261 messages
  • Gender:Male
  • Location:Riviera - Vaudoise
  • Interests:Electronique / Informatique / Robotique / BD / et surtout les boissons fermentées au houblon

Posté 16 janvier 2013 - 04:55

Bonjour à tous,

Merci Mic pour ton lien... malheureusement, la partie qui m'intéresse n'est pas accessible :kez_13:/>/>/>

En discutant sur un autre forum, et en cherchant par moi-même dans mes vieilles connaissance de JAVA, je peux jouer avec le bouton de 2 manières, voici les 2 solus ci-dessous :
Solution - Forum D.com :drinks:/>/>/>

initialiser comme variable général :
Button         b_Lancer; 

pour initialiser l'objet dans la fonction setup :
  //b_Lancer = controle_B.addButton("Lancer", 0, 50, 150, 50, 24);       // initialise et ajoute un Button au ControlP5 --> lancer 
  b_Lancer = controle_B.addButton("b_Lancer", 0, 50, 150, 50, 24);       // initialise et ajoute un Button au ControlP5 --> lancer 

la différence se trouve dans le string indiqué en argument, celui-ci doit avoir le même nom que l'objet

chaque fois qu'on clique sur le touche "b_lancer", le fond d'écran passe en blanc (c'est ce que je voulais --> OK)
void b_Lancer(int val_event)
{
  background(255,255,255);                 // fond fenetre en 
}

Solution - Perso

initialiser comme variable général :
Button         b_Lancer; 

our initialiser l'objet dans la fonction setup :
  b_Lancer = controle_B.addButton("Lancer", 0, 50, 150, 50, 24);       // initialise et ajoute un Button au ControlP5 --> lancer 

par contre je n'utilise pas une méthode définie par mes soins, mais dans la fonction draw, je teste la touche
if (b_Lancer.isPressed())
{
    background(255,255,255);                 // fond fenetre en 
}     

la différence entre les 2 codes qui font la même chose, c'est que que le fond de la fenêtre change de couleur, la différence entre les 2 codes c'est au niveau du nom qui est afficher dans la fenêtre au niveau de la touche, dans la première solution, le string qui est en argument doit avoir le même que l'objet et que la fonction... ne me demander par pourquoi je n'en sais rien... mais ca marche... :o/>/>/> t'en dit que pour ma solution, je peux afficher un nom différent sur la fenêtre pour ma touche que le nom de mon objet.

---> Edit du message le 18.01.2012

Voilà, à nouveau en difficulté car comme dit ci-dessus la gestion est correcte, mais je me trouver confronter à des nouveau soucis sur la création d'un fichier ainsi que de son écriture... Mon but est lorsque j'appuie sur le "lancer", un fichier s'ouvre pour que l'on puisse aller écrire des infos dessus... donc j'ai écris le code (en utilisant mon ami Google) et lorsque je lance mon code, ca foire au niveau de l'ouverture du fichier txt.

Alors à nouveau je fais appel à vous, et vos connaissance de Java pour aider à me dépatouiller... Alors comme d'hab si vous avez de liens, doc, ou exemple de code je suis preneur.

Voici mon bout de code :
//------------------------------------------------------------------//
// Nom fonction : Lancer
// entrée - sortie --> IN : val_event
//                 --> OUT :
//                 --> IN/OUT :
// Description : lié à une événement lorsqu'on clique sur la 
//               touche "Lancer", cela doit créer un fichier ainsi 
//               permettre l'aquistion de données 
// Remarque : -       
//------------------------------------------------------------------//
public void Lancer(int val_event)
{
  print("ca marche !!!");
  background(255,255,255);                 // fond fenetre en 
  if(fichier_data.exists())
  {
    try
    {
      FileWriter ecriture_data = new FileWriter(fichier_data, true); 
      ecriture_data.write("j'ai ecris à nouveau \n");
      ecriture_data.close();
    }
    catch (IOException ioe) 
    { 
      println("Message erreur : "+ioe.getMessage()); 
    } 
        //BufferedReader fichier  = new BufferedReader(new FileReader("monfichier.txt"));   
  }
  else
  {
    
    try
    {
       fichier_data = new File("store_data.txt");
       FileWriter ecriture_data = new FileWriter(fichier_data); 
       ecriture_data.write("j'ai ecris pour la premiere fois \n"); 
       ecriture_data.close();
    }
    catch (IOException ioe) 
    { 
       println("Message erreur : "+ioe.getMessage()); 
    } 
  }
}

ainsi que l'erreur fournie :
Image IPB

A tout bientôt le chty Philou
Amicalement PHILOU QUI a BU, BOIRA !!! VU euh non BU! alcoolique non, assoiffé OUI^^ :P :|




0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users