Problème SWING
Résolu/Fermé
Pulsar360
Messages postés
113
Date d'inscription
lundi 12 novembre 2012
Statut
Membre
Dernière intervention
29 août 2018
-
5 avril 2013 à 12:49
Pulsar360 Messages postés 113 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 29 août 2018 - 5 avril 2013 à 19:27
Pulsar360 Messages postés 113 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 29 août 2018 - 5 avril 2013 à 19:27
1 réponse
Pulsar360
Messages postés
113
Date d'inscription
lundi 12 novembre 2012
Statut
Membre
Dernière intervention
29 août 2018
10
5 avril 2013 à 17:14
5 avril 2013 à 17:14
Et bien je me suis débrouille sans vous.
Voici la correction :
// Classe Test :
//Classe MyKeyAdapter: (Celle ci n'a pas changer)
//Classe ThreadA :
// Classe ThreadB: (Elle n'a pas changer):
// Classe Table:
Voilas, rien de bien méchant, juste des petits oublies.
Voici la correction :
// Classe Test :
import javax.swing.JFrame; public class Test { public static void main(String[] args) { MyKeyAdapter adapt = new MyKeyAdapter(); JFrame fen = new JFrame(); fen.setTitle("salut"); fen.setSize(400,200); fen.addKeyListener(adapt); Table tab = new Table(); fen.setContentPane(tab); fen.setVisible(true); fen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); int i = 100; while (i > 0) { ThreadA tA = new ThreadA(adapt.doAction(),tab); tA.start(); ThreadB tB = new ThreadB(adapt.doAction2()); tB.start(); try { Thread.sleep(60); } catch (InterruptedException ie) { ie.printStackTrace(); } } } }
//Classe MyKeyAdapter: (Celle ci n'a pas changer)
import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; public class MyKeyAdapter extends KeyAdapter { private boolean isAPressed = false; private boolean isBPressed = false; public void keyPressed(KeyEvent e) { if(e.getKeyCode()== 0x41) { isAPressed = true; } if(e.getKeyCode()== 0x42) { isBPressed = true; } } public void keyReleased(KeyEvent e) { if(e.getKeyCode()== 0x41) { isAPressed = false; } if(e.getKeyCode()== 0x42) { isBPressed = false; } } public boolean doAction() { return isAPressed; } public boolean doAction2() { return isBPressed; } }
//Classe ThreadA :
class ThreadA extends Thread { private boolean joueur1; Table tab ; public ThreadA(boolean joueur1,Table tab) { this.joueur1 = joueur1; this.tab = tab; } public void run() { if(joueur1 == true) { System.out.println(joueur1 + " Salut."); tab.setPosYHRG(tab.getPosYHRG()+10); tab.repaint(); } } }
// Classe ThreadB: (Elle n'a pas changer):
class ThreadB extends Thread { private boolean joueur1; public ThreadB(boolean joueur1) { this.joueur1 = joueur1; } public void run() { if(joueur1 == true) System.out.println(joueur1 + " Coucou."); } }
// Classe Table:
import java.awt.Color; import java.awt.Graphics; import javax.swing.JPanel; public class Table extends JPanel { private int posXLT = 10; private int posYHT = 10; private int posXLRG = 10; private int posYHRG = 10; private int posXLRD = 10; private int posYHRD = 10; public void paintComponent (Graphics g) { g.setColor(new Color(240,240,240)); g.fillRect(posXLT, posYHT, (this.getWidth()-posXLT*2), (this.getHeight()-posYHT*2)); g.setColor(new Color(0,0,0)); g.fillRect(posXLRG,posYHRG+10,(this.getHeight()/8/4),(this.getHeight()/8)); g.fillRect(this.getWidth()-20-(this.getHeight()/8/4),posYHRD+10,(this.getHeight()/8/4),(this.getHeight()/8)); } public int getPosYHRG() { return posYHRG; } public void setPosYHRG(int i) { posYHRG = i; } }
Voilas, rien de bien méchant, juste des petits oublies.
5 avril 2013 à 19:13
"Voilas, rien de bien méchant, juste des petits oublies."
Bah oui, mais si tu vas plus vite que nous aussi ^^
À l'occasion je regarderais peut-être ton code complet pour "critiquer" si tu veux, en attendant j'ai juste regardé vite fait, et il y a une monstruosité qui me saute aux yeux :
Quand tu fais (par exemple)
Il serait beaucoup plus compréhensible d'utiliser les constantes de la classe KeyEvent :
5 avril 2013 à 19:27
Ben justement, comme tu le vois il y a des "monstruosités" parce que je n'est que 2 mois de JAVA derrière moi, et je n'est aucun autre moyen d'apprendre que de par moi même (tuto, livre, forum,...) du coup je suis totalement ouvert au critique, t'en quelle sont constructives bien sûr, ça ne peut faire que m'aider.
J'ai rajouter les morceaux de code qu'il manquer (pour déplacer correctement les deux raquettes) et je peut te le transmettre si tu veux pour critiquer, si tu le temps bien sur.
Merci pour ton aide en tous cas.