Realiser Un objet qui bouge sur JAVA

Messages postés
7
Date d'inscription
mardi 20 mars 2012
Statut
Membre
Dernière intervention
20 mai 2012
- - Dernière réponse : Twinuts
Messages postés
5340
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
3 septembre 2019
- 20 mai 2012 à 12:20
Bonjour
je veux faire un petit jeux en JAVA , j'ai un petit probleme avec la capture des evenements En clavier , j'arrive plus a deplacer mon objet , bon voila le code


code :
package jeu;
import javax.swing.JFrame;
import javax.swing.JPanel;


import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Dimension;
import java.awt.Color;
import java.awt.Component;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class Graph extends JPanel implements KeyListener {
int posix;// position de notre personnage par rapport a
int posiy;
// int diametrestatic final long serialVersionUID 1;
private int[][][] Coordonnepoint; // voila le tableau de coordonn
private int[][] coordonneMure;// por le mure //
private boolean possedeDisque = true;
private int px;
private int py;
private int prayon=110;
private int x = 1500;
private int y = 150;
private int z = 0;
private int w = 0;
private Graphics g;

public Graph() {
px=0;
py=0;
setBackground(Color.BLACK);
setPreferredSize(new Dimension(2000, 2000));
}

public void setPossedeDisque(boolean possedeDisque) {
this.possedeDisque = possedeDisque;
}

public void dessiner(Graphics g) {
g.setColor(Color.YELLOW);
// g.fillOval(500,500, 20, 20);
g.fillOval(45, 150, 20, 20);
g.fillOval(45, 250, 20, 20);
g.fillOval(45, 350, 20, 20);
g.fillOval(45, 450, 20, 20);
g.fillOval(45, 550, 20, 20);
g.fillOval(45, 650, 20, 20);
g.fillOval(145, 780, 20, 20);
g.fillOval(255, 50, 20, 20);
g.fillOval(255, 150, 20, 20);
g.fillOval(255, 250, 20, 20);
g.fillOval(255, 350, 20, 20);
g.fillOval(255, 450, 20, 20);
g.fillOval(255, 550, 20, 20);
g.fillOval(255, 650, 20, 20);
g.fillOval(350, 50, 20, 20);
g.fillOval(500, 50, 20, 20);
g.fillOval(500, 150, 20, 20);
g.fillOval(500, 250, 20, 20);
g.fillOval(500, 350, 20, 20);
g.fillOval(500, 450, 20, 20);
g.fillOval(500, 550, 20, 20);
g.fillOval(500, 650, 20, 20);
g.fillOval(500, 750, 20, 20);
g.fillOval(600, 750, 20, 20);
g.fillOval(700, 750, 20, 20);
g.fillOval(800, 750, 20, 20);
g.fillOval(900, 750, 20, 20);
g.fillOval(1000, 750, 20, 20);
g.fillOval(1100, 750, 20, 20);
g.fillOval(1200, 750, 20, 20);
g.fillOval(1300, 750, 20, 20);
g.fillOval(1400, 750, 20, 20);
g.fillOval(1500, 750, 20, 20);
g.fillOval(1500, 650, 20, 20);
g.fillOval(1500, 550, 20, 20);
g.fillOval(1500, 450, 20, 20);
g.fillOval(1500, 350, 20, 20);
g.fillOval(1500, 250, 20, 20);
g.fillOval(1500, 150, 20, 20);
g.fillOval(1500, 50, 20, 20);

}

public void Encaisse() {
}

// g.fillOval(500, 50, 20, 20);
// g.fillOval(500, 50, 20, 20);
// g.fillOval(x, y, width, height)

/**
* methode qui permet de mettre monterer que les points jaunes , sont
* concommées , on les rendant noires
*
* @param g
*/
public void mettreEnNoire(Graphics g) {
g.setColor(Color.black);
g.fillOval(x, y, z, w);
}

/**
* methode qui nous permet de dessiner le joueur a chaque moment , par
* variation des positions X, Y
*
* @param g
*/
public void dessinerPer(Graphics g) {
g.setColor(Color.RED);
g.fillOval(px, py, prayon, prayon);
}

// TODO verifier ces classes //
/**
* la methode qui nous permet de dessiner les mures dans nos parties de jeux
*
* @param g
*/
public void dessinerMure(Graphics g) {
// String color="GRAY";
g.setColor(Color.GRAY);
g.fillRect(110, 0, 100, 745);
g.fillRect(330, 110, 100, 850);
g.fillRect(640, 0, 100, 400);
// g.fillRect(640,400, 300, 100);
g.fillRect(1040, 0, 100, 400);
// g.fillRect(110,750, 100, 100);

}

// public void dessinerPoint(Graphics g){
// g.setColor(Color.yellow);
// g.fillOval(x, y, width, height);
//
// }
/**
* Methode implementé de Jcomponment qui nous permet de dessiner tous les
* Labyrinth
*
* @param Graphics
* g
*/
@Override
// public void paintComponent(Graphics g) {
public void paint(Graphics g) {

super.paintComponent(g);
if (possedeDisque) {
dessiner(g);
dessinerMure(g);
dessinerPer(g);
mettreEnNoire(g);
// this.paintImmediately(100,
// 100 ,
// 100,
// 100);
}
}

@Override
public void keyPressed(KeyEvent e) {
// super.keyPressed(e);
// enter = sélectionner l'option
// if (e.getKeyCode() == KeyEvent.VK_SPACE) {
// //TODO pause en jeux
// }
// se déplacer dans les options vers le bas
if (e.getKeyCode() == KeyEvent.VK_DOWN) {
this.px=px+100;
// this.dessiner(g);
// this.paintComponent(g);

}
// se déplacer vers le haut
if (e.getKeyCode() == KeyEvent.VK_UP) {
this.px=px+100;
// this.dessiner(g);
// this.paintComponent(g);
// this.repaint();


}// se deplacer vers l'adroite
if(e.getKeyCode()==KeyEvent.VK_LEFT){
this.py=py+100;
// this.dessiner(g);
// this.paintComponent(g);
// this.repaint();

}
// se deplacer vers l'agauche
if(e.getKeyCode()==KeyEvent.VK_RIGHT){
this.py=py-100;
// this.dessiner(g);
this.repaint();

// this.paintComponent(g);


}
repaint();

}
// public void paint(Graphics g){
// dessiner(g);
// dessinerMure(g);
// dessinerPer(g);
//
// }


@Override
public void keyReleased(KeyEvent e) {
}

@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub

}
}

// public class VoirArdoise {
// public static void main(String[] arg) {
// Frame cadre = new javax.swing.JFrame("PROTOTYPE1");
// ((JFrame) cadre).setContentPane(new Graph());
// cadre.setLocation(400, 300);
// cadre.pack();
// cadre.setVisible(true);
// ((JFrame) cadre).setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// }
// }
Afficher la suite 

12 réponses

Messages postés
7
Date d'inscription
mardi 20 mars 2012
Statut
Membre
Dernière intervention
20 mai 2012
0
Merci
bonjour
ok , Il y a une erreur lors de l’implémentation de l'interface KeyListner , car lorsque on compile il n'y a aucune reponse pour les touches UP, DOWN ,left.., l'objet et sensé bouger selon les touches. je vous transmet alors la partie suspecte alors.

public void paint(Graphics g) { 

super.paintComponent(g); 
if (possedeDisque) { 
dessiner(g); 
dessinerMure(g); 
dessinerPer(g); 
mettreEnNoire(g); 

} 
} 

@Override 
public void keyPressed(KeyEvent e) { 

if (e.getKeyCode() == KeyEvent.VK_DOWN) { 
this.px=px+100; 

} 

if (e.getKeyCode() == KeyEvent.VK_UP) { 
this.px=px+100; 



}// se deplacer vers l'adroite 
if(e.getKeyCode()==KeyEvent.VK_LEFT){ 
this.py=py+100; 

} 
// se deplacer vers l'agauche 
if(e.getKeyCode()==KeyEvent.VK_RIGHT){ 
this.py=py-100; 

this.repaint(); 




} 
repaint(); 

} 
Commenter la réponse de dorados
Messages postés
5340
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
3 septembre 2019
87
0
Merci
Salut,

Quel intérêt d'avoir copier/coller un bout de code incomplet ? Du coup nous n'avons pas toutes les infos....
Bref... voici un exemple de code qui affiche la touche directionnelle que tu as pressé:
import java.awt.Dimension;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Test extends JPanel implements KeyListener {
private static final long	serialVersionUID	= -3105642187701287461L;

public static void main(final String[] args) {
final JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setContentPane(new Test());
f.setSize(new Dimension(300, 300));
f.setLocationRelativeTo(null);
f.setVisible(true);
}

public Test() {
addKeyListener(this);
}

@Override
public boolean isFocusTraversable() {
return true;
}

@Override
public void keyTyped(final KeyEvent e) {
}

@Override
public void keyPressed(final KeyEvent e) {
final int keyCode = e.getKeyCode();
if (keyCode == KeyEvent.VK_LEFT)
System.err.println("KeyEvent.VK_LEFT");
else if (keyCode == KeyEvent.VK_RIGHT)
System.err.println("KeyEvent.VK_RIGHT");
else if (keyCode == KeyEvent.VK_UP)
System.err.println("KeyEvent.VK_UP");
else if (keyCode == KeyEvent.VK_DOWN)
System.err.println("KeyEvent.VK_DOWN");
}

@Override
public void keyReleased(final KeyEvent e) {
}

}


Dans l'exemple ci-dessus l'override de la méthode isFocusTraversable est nécessaire pour assurer le fonctionnement voulu (pour plus d'informations, je te laisse le soin de chercher dans la javadoc)

-----

"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Commenter la réponse de Twinuts
Messages postés
7
Date d'inscription
mardi 20 mars 2012
Statut
Membre
Dernière intervention
20 mai 2012
0
Merci
Oui je vous remercie quand même de ta réponse, pour ma situation ok si c'est pas claire je vous reexplique tt , je veu realiser un jeu qui consiste a bouger mon disque rouge en effet j'ai pas encore terminer le programme car le joueur le bout rouge qui présente le personnage ne réponds pas lorsque j'appuie sur les touche up down...
ce que je demande et que je puisse bouger mon disque rouge , moi je croix que ça viens des ActionListner
Commenter la réponse de dorados
Messages postés
5340
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
3 septembre 2019
87
0
Merci
Salut,

Si dans ta classe Graph tu n'override pas la méthode isFocusTraversable en retournant "true", java de forwardera pas à cette dernière (la classe) l'event keypressed.
As-tu au moins essayé ?


-----

"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Commenter la réponse de Twinuts
Messages postés
7
Date d'inscription
mardi 20 mars 2012
Statut
Membre
Dernière intervention
20 mai 2012
0
Merci
Bon si tu veux tu peux executer mon code et tu verra bien ce que je veux dire et merci


package jeu;
import javax.swing.JFrame;
import javax.swing.JPanel;

//import Modele_de_jeu.src.devintAPI.Preferences;

import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Dimension;
import java.awt.Color;
import java.awt.Component;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class Graph extends JPanel implements KeyListener {

private boolean possedeDisque = true;
private int px;
private int py;
private int prayon=110;
private int x = 1500;
private int y = 150;
private int z = 0;
private int w = 0;
private Graphics g;

public Graph() {
this.px=0;
this.py=0;
setBackground(Color.BLACK);
setPreferredSize(new Dimension(2000, 2000));
}

public void setPossedeDisque(boolean possedeDisque) {
this.possedeDisque = possedeDisque;
}

public void dessiner(Graphics g) {
g.setColor(Color.YELLOW);
// g.fillOval(500,500, 20, 20);
g.fillOval(45, 150, 20, 20);
g.fillOval(45, 250, 20, 20);
g.fillOval(45, 350, 20, 20);
g.fillOval(45, 450, 20, 20);
g.fillOval(45, 550, 20, 20);
g.fillOval(45, 650, 20, 20);
g.fillOval(145, 780, 20, 20);
g.fillOval(255, 50, 20, 20);
g.fillOval(255, 150, 20, 20);
g.fillOval(255, 250, 20, 20);
g.fillOval(255, 350, 20, 20);
g.fillOval(255, 450, 20, 20);
g.fillOval(255, 550, 20, 20);
g.fillOval(255, 650, 20, 20);
g.fillOval(350, 50, 20, 20);
g.fillOval(500, 50, 20, 20);
g.fillOval(500, 150, 20, 20);
g.fillOval(500, 250, 20, 20);
g.fillOval(500, 350, 20, 20);
g.fillOval(500, 450, 20, 20);
g.fillOval(500, 550, 20, 20);
g.fillOval(500, 650, 20, 20);
g.fillOval(500, 750, 20, 20);
g.fillOval(600, 750, 20, 20);
g.fillOval(700, 750, 20, 20);
g.fillOval(800, 750, 20, 20);
g.fillOval(900, 750, 20, 20);
g.fillOval(1000, 750, 20, 20);
g.fillOval(1100, 750, 20, 20);
g.fillOval(1200, 750, 20, 20);
g.fillOval(1300, 750, 20, 20);
g.fillOval(1400, 750, 20, 20);
g.fillOval(1500, 750, 20, 20);
g.fillOval(1500, 650, 20, 20);
g.fillOval(1500, 550, 20, 20);
g.fillOval(1500, 450, 20, 20);
g.fillOval(1500, 350, 20, 20);
g.fillOval(1500, 250, 20, 20);
g.fillOval(1500, 150, 20, 20);
g.fillOval(1500, 50, 20, 20);

}

public void Encaisse() {
}


/**
 * methode qui permet de mettre monterer que les points jaunes , sont
 * concommées , on les rendant noires
 * 
 * @param g
 */
public void mettreEnNoire(Graphics g) {
g.setColor(Color.black);
g.fillOval(x, y, z, w);
}

/**
 * methode qui nous permet de dessiner le joueur a chaque moment , par
 * variation des position X, Y
 * 
 * @param g
 */
public void dessinerPer(Graphics g) {
g.setColor(Color.RED);
g.fillOval(px, py, prayon, prayon);
}

/**
 * la methode qui nous permet de dessiner les mures dans nos parties de jeux
 * 
 * @param g
 */
public void dessinerMure(Graphics g) {
g.setColor(Color.GRAY);
g.fillRect(110, 0, 100, 745);
g.fillRect(330, 110, 100, 850);
g.fillRect(640, 0, 100, 400);
g.fillRect(1040, 0, 100, 400);

}

/**
 * Methode implementé de Jcomponment qui nous permet de dessiner tous les
 * Labyrinth
 * 
 * @param Graphics
 *            g
 */
@Override
public boolean isFocusTraversable() {
return true;
}
@Override
public void paint(Graphics g) {

super.paintComponent(g);
if (possedeDisque) {
dessiner(g);
dessinerMure(g);
dessinerPer(g);
mettreEnNoire(g);

}
}

@Override
public void keyPressed(final KeyEvent e) {
final int keyCode = e.getKeyCode();
if (keyCode == KeyEvent.VK_LEFT)
//			System.err.println("KeyEvent.VK_LEFT");
this.py+=100;
else if (keyCode == KeyEvent.VK_RIGHT)
//			System.err.println("KeyEvent.VK_RIGHT");
this.py+=100;
else if (keyCode == KeyEvent.VK_UP)
//			System.err.println("KeyEvent.VK_UP");
this.px+=100;
else if (keyCode == KeyEvent.VK_DOWN)
//			System.err.println("KeyEvent.VK_DOWN");
this.px+=100;
}

@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub


}

@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub

}
}

 public class VoirArdoise {
 public static void main(String[] arg) {
 Frame cadre = new javax.swing.JFrame("PROTOTYPE1");
((JFrame) cadre).setContentPane(new Graph());
cadre.setLocation(400, 300);
 cadre.pack();
cadre.setVisible(true);
((JFrame) cadre).setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
 }
Commenter la réponse de dorados
Messages postés
7
Date d'inscription
mardi 20 mars 2012
Statut
Membre
Dernière intervention
20 mai 2012
0
Merci
oui j'ai bien essayer ça marche pas desolé
Commenter la réponse de dorados
Messages postés
5340
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
3 septembre 2019
87
0
Merci
Salut,

Questions:
1 - Ca t'avance à quoi ton cast Frame/JFrame dans le main ?
2 - Sais-tu qu'en swing on ne dessine JAMAIS dans paint mais dans paintComponent ?
3 - Sais-tu qu'en JAVA ce n'est pas parce que tu implémentes un listener qu'il est rattaché à ton Objet.... un appel à la méthode addKeyListener ne serait pas un luxe... ?
4 - Pourquoi tu ne repaint pas ton composant après le déplacement ?


Bref ce qui nous donne (tu as d'autres soucis dans ton code, comme le déplacement qui est inversé, ainsi que quelques pb de repaint):

VoirArdoise.java:
import javax.swing.JFrame;

public class VoirArdoise {
  public static void main(final String[] arg) {
    final JFrame cadre = new javax.swing.JFrame("PROTOTYPE1");
    cadre.setContentPane(new Graph());
    cadre.setLocation(400, 300);
    cadre.pack();
    cadre.setVisible(true);
    cadre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}


Graph.java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JPanel;

public class Graph extends JPanel implements KeyListener {
  private static final long serialVersionUID = -5247887007395270989L;
  private boolean           possedeDisque    = true;
  private int               px;
  private int               py;
  private final int         prayon           = 110;
  private final int         x                = 1500;
  private final int         y                = 150;
  private final int         z                = 0;
  private final int         w                = 0;
  private Graphics          g;
  
  public Graph() {
    this.px = 0;
    this.py = 0;
    setBackground(Color.BLACK);
    setPreferredSize(new Dimension(2000, 2000));
    addKeyListener(this);
  }
  
  public void setPossedeDisque(final boolean possedeDisque) {
    this.possedeDisque = possedeDisque;
  }
  
  public void dessiner(final Graphics g) {
    g.setColor(Color.YELLOW);
    g.fillOval(45, 150, 20, 20);
    g.fillOval(45, 250, 20, 20);
    g.fillOval(45, 350, 20, 20);
    g.fillOval(45, 450, 20, 20);
    g.fillOval(45, 550, 20, 20);
    g.fillOval(45, 650, 20, 20);
    g.fillOval(145, 780, 20, 20);
    g.fillOval(255, 50, 20, 20);
    g.fillOval(255, 150, 20, 20);
    g.fillOval(255, 250, 20, 20);
    g.fillOval(255, 350, 20, 20);
    g.fillOval(255, 450, 20, 20);
    g.fillOval(255, 550, 20, 20);
    g.fillOval(255, 650, 20, 20);
    g.fillOval(350, 50, 20, 20);
    g.fillOval(500, 50, 20, 20);
    g.fillOval(500, 150, 20, 20);
    g.fillOval(500, 250, 20, 20);
    g.fillOval(500, 350, 20, 20);
    g.fillOval(500, 450, 20, 20);
    g.fillOval(500, 550, 20, 20);
    g.fillOval(500, 650, 20, 20);
    g.fillOval(500, 750, 20, 20);
    g.fillOval(600, 750, 20, 20);
    g.fillOval(700, 750, 20, 20);
    g.fillOval(800, 750, 20, 20);
    g.fillOval(900, 750, 20, 20);
    g.fillOval(1000, 750, 20, 20);
    g.fillOval(1100, 750, 20, 20);
    g.fillOval(1200, 750, 20, 20);
    g.fillOval(1300, 750, 20, 20);
    g.fillOval(1400, 750, 20, 20);
    g.fillOval(1500, 750, 20, 20);
    g.fillOval(1500, 650, 20, 20);
    g.fillOval(1500, 550, 20, 20);
    g.fillOval(1500, 450, 20, 20);
    g.fillOval(1500, 350, 20, 20);
    g.fillOval(1500, 250, 20, 20);
    g.fillOval(1500, 150, 20, 20);
    g.fillOval(1500, 50, 20, 20);
    
  }
  
  public void Encaisse() {
  }
  
  /**
   * methode qui permet de mettre monterer que les points jaunes , sont
   * concommées , on les rendant noires
   * 
   * @param g
   */
  public void mettreEnNoire(final Graphics g) {
    g.setColor(Color.black);
    g.fillOval(x, y, z, w);
  }
  
  /**
   * methode qui nous permet de dessiner le joueur a chaque moment , par
   * variation des position X, Y
   * 
   * @param g
   */
  public void dessinerPer(final Graphics g) {
    g.setColor(Color.RED);
    g.fillOval(px, py, prayon, prayon);
  }
  
  /**
   * la methode qui nous permet de dessiner les mures dans nos parties de jeux
   * 
   * @param g
   */
  public void dessinerMure(final Graphics g) {
    g.setColor(Color.GRAY);
    g.fillRect(110, 0, 100, 745);
    g.fillRect(330, 110, 100, 850);
    g.fillRect(640, 0, 100, 400);
    g.fillRect(1040, 0, 100, 400);
    
  }
  
  /**
   * Methode implementé de Jcomponment qui nous permet de dessiner tous les
   * Labyrinth
   * 
   * @param Graphics
   *          g
   */
  @Override
  public boolean isFocusTraversable() {
    return true;
  }
  
  @Override
  public void paintComponent(final Graphics g) {
    
    super.paintComponent(g);
    if (possedeDisque) {
      dessiner(g);
      dessinerMure(g);
      dessinerPer(g);
      mettreEnNoire(g);
      
    }
  }
  
  @Override
  public void keyPressed(final KeyEvent e) {
    final int keyCode = e.getKeyCode();
    if (keyCode == KeyEvent.VK_LEFT) {
      this.py += 100;
      this.repaint();
    } else if (keyCode == KeyEvent.VK_RIGHT) {
      this.py += 100;
      this.repaint();
    } else if (keyCode == KeyEvent.VK_UP) {
      this.px += 100;
      this.repaint();
    } else if (keyCode == KeyEvent.VK_DOWN) {
      this.px += 100;
      this.repaint();
    }
  }
  
  @Override
  public void keyReleased(final KeyEvent arg0) {
  }
  
  @Override
  public void keyTyped(final KeyEvent arg0) {
  }
}


-----

"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Commenter la réponse de Twinuts
Messages postés
7
Date d'inscription
mardi 20 mars 2012
Statut
Membre
Dernière intervention
20 mai 2012
0
Merci
Ok
bon en ce qui concerne les deux premières question on s"en fou car c'est pas ça mon problème , en revanche je vous invite a m'expliquer de plus sur la méthode addKeyListner() ... inutile de me dire d'aller chercher dans API JAVA car l'anglais c'est pas mon truc... celons toi il me faut quoi pur bouger ce maudit disque

et merci
Commenter la réponse de dorados
Messages postés
5340
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
3 septembre 2019
87
0
Merci
ça va paraître violent mais l'informatique et principalement le monde du dev sans l'anglais tu peux oublier et te trouver une autre vocation!
Dans ce milieu l'anglais est un près requis.

Sinon en gros, l'appel de la méthode addxxxListener (xxx pour Key, Mouse, etc...) permet de notifier la jvm que tu souhaites te mettre en écoute des actions (clavier, souris, etc...) pour un objet donné, l'implementation d'un listener permet juste de définir le comportement a adopter quand l'Evénement sera levé.

en espérant avoir été assez clair.


-----

"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Commenter la réponse de Twinuts
Messages postés
7
Date d'inscription
mardi 20 mars 2012
Statut
Membre
Dernière intervention
20 mai 2012
0
Merci
merci
est ce que tu peux me filer un exemple d'utilisation de AddKeyListner() ,comme ça je serai tranquille .et merci
Commenter la réponse de dorados
Messages postés
5340
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
3 septembre 2019
87
0
Merci
heuuuu.... le code que je t'ai précédemment envoyé? .... regarde le constructeur de la classe Graph...


-----

"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Commenter la réponse de Twinuts
Messages postés
5340
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
3 septembre 2019
87
-1
Merci
Salut,

Merci d'utiliser les balises "code" prévues pour éviter les postes torchons.... Parce que là c'est limite illisible! Merci également de détailler ce que tu cherches à faire etc... personnellement je suis pas chaud pour une lecture complète de ton code afin de comprendre ce que tu as dans la tête.

Un petit clean du code non utilisé ne sera pas un luxe.


-----

"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Commenter la réponse de Twinuts