Help Gerer Evenement clavier !!!!! [Résolu]

Messages postés
54
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
15 octobre 2006
- - Dernière réponse : mimilavitrine
Messages postés
54
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
15 octobre 2006
- 20 juin 2005 à 13:28
Bonjour a tous ,



J'ai un probleme pour gerer le evenement clavier est ce que qql peut m'aider ??



voici mon code :



import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.*;

import javax.swing.ImageIcon;

import javax.swing.Timer;



//////////////////////////////////////////////////////////////////////

//

//

CLASS JEUX

//

// Cette classe permet de gerer le jeux au niveau des regles c'est

// a dire c'est ici que l'on va traiter la suppression des briques

// de meme couleurs aligner dans le sens verticale et horizontale

// ainsi que les carrés

//

///////////////////////////////////////////////////////////////////



public class Jeux {



//---------------------------------------------

//

// Déclaration des variables de la classe

//

//---------------------------------------------

public Scene scene; // la scene va créer la zone de jeux

public BriqueJeux brique; // brique de jeux peut etre etre déplacer

public Timer timer; // permet de gerer le jeux et la descente des briques

public ImageIcon [][] tab; // tableau de jeux

public boolean bool;

private static int temp = 1000; // temp pour le timer



//---------------------------------------------

//

// Déclaration des constructeurs de la classe

//

//---------------------------------------------

public Jeux () // constructeur par defaut

{

// initialisation des données de la classe

scene = new Scene ();

tab = scene.getTjeux(); // recupération du tableau de jeux

// initialisation d'un tableau de type bloc d'image





}

//---------------------------------------------------

//

// Pas de get ou de set car les attributs sont public

//

//---------------------------------------------------



//---------------------------------------------

//

// Déclaration des méthodes de la classe

//

//---------------------------------------------

public boolean LancementTimer ()

{ }





public void SupprimeBrique (){ }





public void DecalageImageLigneH (PositionImage img)

{ // cette fonction permet de repositionner les images au dessus de img apres une ligne horizontale



}

public void DecalageImageLigneV (PositionImage img)

{// cette fonction permet de repositionner les images au dessus de img apres une ligne verticale



}

public void DecalageImageC (PositionImage img)

{// cette fonction permet de repositionner les images au dessus de img apres un bloc carre

}







public void PlayGame ()

{



while (tab[0][2] == null || tab [0][3] == null)

{ // test si il y a pas d'images sur les cases d'apparition de briques

// lancement timer

bool = LancementTimer(); // lancement ou arret du Timer

if (bool == true)// Timer lancer

{

// gerer le choix utilisateur

addKeyListener(new ChoixUtilisateur());



}

else


{


//gerer s'il y a des lignes

SupprimeBrique();

}

}

}

public class ChoixUtilisateur extends KeyAdapter{

public void keyPressed(KeyEvent e) { //keyPressed : 1er catcher

int key = e.getKeyCode();

switch (key)

{

case KeyEvent.VK_LEFT :



scene.deplacementbriqueGauche(brique);

break;



case KeyEvent.VK_RIGHT :



scene.deplacementbriqueDroite(brique);

break;



case KeyEvent.VK_DOWN :


if (brique.briqueHorizontale ==
true)



brique.inversionVertical();

else



brique.inversionHorizontale();

break;



}

}



}

}



Je vous explique mon probleme je voudrait gerer les evenement clavier
pour faire bouger les briques du jeux les fonction sont implémanter
mais dans la méthodes PLayGame quand je mets addListestener il plente a
la compilation;



Comment faire pour pourvoir gerer les evenement clavier dans playGame ou j'ai mit en commentaire gerer choix utilisateur

Merci beacoup de m'aider car la je ne sais plus quoi faire
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
5337
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
8 juillet 2019
82
3
Merci
regarte exemple



public class Jeux{

private JFrame adaptee;



public Jeux(JFrame adaptee){

this.adaptee = adaptee;

}

public void PlayGame (){

...

adaptee.addKeyListener(new ChoixUtilisateur());

...

}

}

WORA

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 130 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Twinuts
Messages postés
54
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
15 octobre 2006
0
Merci
A la construction il me dit au niveau du addkeyListener dans play game

=> the method addKeylistener (Jeux.ChoixUtilisateur ) is undefined for the type Jeux
Commenter la réponse de mimilavitrine
Messages postés
5337
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
8 juillet 2019
82
0
Merci
Hello,



il est normale que ça bug à la compile



tu fais addKeyListener(new ChoixUtilisateur());

alors que ta classe Jeux n'herite d'aucun objet possedant la methode addKeyListener



essaye plustot

maFenetre.addKeyListener(new ChoixUtilisateur());

WORA
Commenter la réponse de Twinuts
Messages postés
54
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
15 octobre 2006
0
Merci
mais maFenetre c'est quoi je doit le declarer ou ? ??
Commenter la réponse de mimilavitrine
Messages postés
5337
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
8 juillet 2019
82
0
Merci
ta fenetre c'est exemple celle qui te sert à afficher ton application



genre une JFrame, JDialog, Frame, Dialog



que tu peux passer en parametre a une methode dédié ou encore au constructeur


WORA
Commenter la réponse de Twinuts
Messages postés
54
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
15 octobre 2006
0
Merci
MERCI MERCI MERCI

serieux tu assure

merci beaucoup tu me sauve la vie lol

ca marche nikel maintenant
Commenter la réponse de mimilavitrine