IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques en Java Discussion :

Transmission de variable


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chasseur Alpin
    Inscrit en
    Mars 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chasseur Alpin

    Informations forums :
    Inscription : Mars 2013
    Messages : 28
    Par défaut Transmission de variable
    Bonjour,
    J'ai un souci pour transférer une variable d'une classe à une autre, c'est la variable reponseJ1, si quelqu'un pouvais m'aider.

    //Classe MainA:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    public class MainA {
     
    	public static void main(String[] args) {
     
    	KeyEventTestA bJ1 = new KeyEventTestA();
     
    	int rep = 12;
     
    	if(bJ1.getReponseJ1()==1) {
    	rep = 1;}
    	else if(bJ1.getReponseJ1()==2) {
    	rep = 2;}
    	else if(bJ1.getReponseJ1()==3) {
    	rep = 3;}
     
    		ThreadTestB  tB = new ThreadTestB("Blabla");
    		tB.start();
     
    		ThreadTestC  tC = new ThreadTestC(rep);
    		tC.start();
    	}
    }
    -------------------------------------------------
    //Classe KeyEventTestA:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
     
    	class KeyEventTestA implements KeyListener{
    	private boolean touchea = false;
    	private boolean toucheq = false;
    	private int reponseJ1;
     
    	public int getReponseJ1() {
    	return reponseJ1; }
    	public void setReponseJ1(int reponseJ1) {
    	this.reponseJ1 = reponseJ1; }
     
    	public boolean getTouchea() {
    	return touchea; }
    	public void setTouchea(boolean touchea) {
    	this.touchea = touchea; }
     
    	public void keyTyped(KeyEvent e) {
     
    	if(touchea == true) {
    	reponseJ1 = 1; }
    	else if(toucheq == true) {
    	reponseJ1 = 2; }
    	else {reponseJ1 = 3;}
     
    		try { Thread.sleep(200); }
    		catch (InterruptedException ie) { ie.printStackTrace(); }
    	}
     
    	public void keyPressed(KeyEvent e) {
     
    	if (e.getKeyChar()=='a') {
    	touchea = true; }
    	else if (e.getKeyChar() == 'q') {
    	toucheq = true; }
    	}
     
    	public void keyReleased(KeyEvent e) {
     
    	if (e.getKeyChar()=='a') {
    	touchea = false; }
    	else if (e.getKeyChar() == 'q') {
    	toucheq = false; }
    	}
    }
    -------------------------------------------------
    //Classe ThreadTestB:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    class ThreadTestB extends Thread {
     
    	private String name;
     
    	public ThreadTestB(String name) {
    	this.name = name;
    	}
     
    	public void run() {
     
    	for(int i=0;i<10;i++) {
     
    	System.out.println(name);
    	try {
    	Thread.sleep(500); }
    	catch (InterruptedException e) {}
    	}
    	}
    }
    -------------------------------------------------
    //Classe ThreadTestC:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    class ThreadTestC extends Thread {
     
    	private int name;
     
    	public ThreadTestC(int name) {
    	this.name = name;
    	}
     
    	public void run() {
     
    	for(int i=0;i<10;i++) {
     
    	System.out.println(name);
    	try {
    	Thread.sleep(500); }
    	catch (InterruptedException e) {}
    	}
    	}
    }
    Merci pour l'aide que vous pourriez m'apporter.

  2. #2
    Membre averti
    Homme Profil pro
    Chasseur Alpin
    Inscrit en
    Mars 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chasseur Alpin

    Informations forums :
    Inscription : Mars 2013
    Messages : 28
    Par défaut
    Personne pour m'aider dans mon problème?

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur Java / JEE
    Inscrit en
    Février 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java / JEE

    Informations forums :
    Inscription : Février 2008
    Messages : 185
    Par défaut
    Bonjour,

    Ta classe KeyEventTestA ne peut pas marcher... Il ne suffit pas d'implémenter KeyListener pour que ça marche. Il faut associer ce code à un composant Swing. Ou alors il te faut prendre comme entrée une touche dans la console ?

    Mathieu

  4. #4
    Membre averti
    Homme Profil pro
    Chasseur Alpin
    Inscrit en
    Mars 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chasseur Alpin

    Informations forums :
    Inscription : Mars 2013
    Messages : 28
    Par défaut
    Bonjour,
    Et merci pour ton aide.

    En faite justement j'utilise une touche du clavier, le 'a' et le 'q', et se que je souhaite c'est que dans la console s'affiche la valeur de la variable 'rep' et par défault elle vaut 12 mais ""normalement"" en appuyant sur la lettre 'a' elle devrait prendre la valeur 1, et en appuyant sur 'q' elle devrait prendre la valeur 2.
    Mais c'est pas le cas et je ne sait pas pourquoi.

  5. #5
    Membre averti
    Homme Profil pro
    Chasseur Alpin
    Inscrit en
    Mars 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chasseur Alpin

    Informations forums :
    Inscription : Mars 2013
    Messages : 28
    Par défaut
    Je ne suis peut être pas bien assez claire dans se que je souhaite faire.
    Je cherche à faire un jeu ping-pong pour m’entraîner a coder, et pour pouvoir déplacer chaqu'une des deux raquettes indépendamment avec le même clavier je souhaite créer un thread pour chaqu'une d'elle.
    Voilas pourquoi j'ai construit ce nouveau code que je retranscrirais dans le jeux du ping-pong une fois que j'aurais réussis à interagir avec celui ci.
    Mon but ici, c'est que quand j'appuis sur la touche 'a' de mon clavier, dans la console le chiffre 1 s'affiche et non plus le chiffre 12.

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur Java / JEE
    Inscrit en
    Février 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java / JEE

    Informations forums :
    Inscription : Février 2008
    Messages : 185
    Par défaut
    Alors, il faut commencer par définir comment tu veux afficher tes raquettes ? Dans une console ou bien peint dans une fenêtre ?
    Si c'est dans une fenêtre, il te faudra probablement utiliser Java Swing et ne pas utiliser la console. Il y a ce post qui pourrait t'aider :

    http://www.developpez.net/forums/d26...ame-ne-repond/

    Sinon ta classe KeyEventTestA ne fonctionne pas parce qu'il n'y a personne pour intercepter l'évènement ! KeyListener c'est juste une interface. Il faut quelque chose pour intercepter la frappe et transmettre cette information à ta classe.

    Mathieu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme transmission de variable toute bete
    Par mereyj dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/03/2006, 20h18
  2. [Sécurité] PHP 5 transmission de variables
    Par messier79 dans le forum Langage
    Réponses: 18
    Dernier message: 09/01/2006, 14h05
  3. Transmission de variable avec GET et header
    Par spirou dans le forum Langage
    Réponses: 10
    Dernier message: 03/01/2006, 19h04
  4. [FLASH MX] Transmission de variables entre 2 swf
    Par totoche dans le forum Flash
    Réponses: 3
    Dernier message: 12/10/2005, 15h54
  5. transmission de variables
    Par nicerico dans le forum ASP
    Réponses: 14
    Dernier message: 16/08/2004, 16h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo