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

AWT/Swing Java Discussion :

debutant listenner en general


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Par défaut debutant listenner en general
    salut

    je voudrai savoir comment capter les information clavier des flèches et souris afin de deplacé un point sur un labyrinthe
    donc 2 point l'un deplacé par la souris l'autre par les fleche

    comment faire ?

    j'ai une fonction qui deplace a une position mon point je pensai l'appeler apres avoir capter l'action

    de plus je pense k'il faut utiliser des theard mai je ne voi pas trop comment

    merci pr l'aide

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Par défaut
    pour l'instant j'ai fai ca pr le key mai je ne sais pa quoi mettre au niveau des condition pour savoir quel touche

    public void keyPressed(KeyEvent evt) {
    char Caract = evt.getKeyChar();

    if (Caract== ) {
    monLaby1.bouge(monLaby1.getposSourisX()+1,monLaby1.getposSourisX());
    }
    if (Caract== ) {
    monLaby1.bouge(monLaby1.getposSourisX()-1,monLaby1.getposSourisX());
    }
    if (Caract== ) {
    monLaby1.bouge(monLaby1.getposSourisX(),monLaby1.getposSourisX()+1);
    }
    if (Caract== ) {
    monLaby1.bouge(monLaby1.getposSourisX(),monLaby1.getposSourisX()-1);
    }
    }

    Souris n'est pas la souris d'un pc mai un objet dans le labyrinthe

  3. #3
    Membre expérimenté
    Avatar de lejimi
    Homme Profil pro
    Écrivain public
    Inscrit en
    Mai 2004
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Écrivain public
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2004
    Messages : 182
    Billets dans le blog
    2
    Par défaut
    Je pense qu'il faut plutôt utiliser les 'keycode' qui sont des champs statiques de la classe KeyEvent. Ce qui donnerait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int carac=evt.getKeyCode();
     
    if(carac==KeyEvent.VK_RIGHT {...} // Pour la flèche de droite par exemple
    if(carac==KeyEvent.VK_LEFT) {...}
    etc...
    Gloire à qui n'ayant pas d'idéal sacro-saint
    Se borne à ne pas trop emmerder ses voisins.


    Mon tutoriel pour débuter avec Inkscape
    D'autres tutoriels intéressants dans la rubrique Open Source
    Et n'oubliez pas la FAQ Open Source !

  4. #4
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut



    As-tu lue la javadoc ? cf KeyEvent

    notamment
    The getKeyChar method always returns a valid Unicode character or CHAR_UNDEFINED. Character input is reported by KEY_TYPED events: KEY_PRESSED and KEY_RELEASED events are not necessarily associated with character input. Therefore, the result of the getKeyChar method is guaranteed to be meaningful only for KEY_TYPED events.

    For key pressed and key released events, the getKeyCode method returns the event's keyCode. For key typed events, the getKeyCode method always returns VK_UNDEFINED.
    en bref, tu ne dois PAS utiliser getKeyChar() dans la methode keyPressed() mais getKeyCode().

    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
    public void keyPressed(KeyEvent e) {
    int code = e.getKeyCode();
    switch(code)
    {
         case VK_LEFT :
         {
               // code
               break;
         }
         case VK_RIGTH :
         {
               // code
               break;
         }
         case VK_UP :
         {
               // code
               break;
         }
         case VK_DOWN :
         {
               // code
               break;
         }
    }
    [edit] pas assez rapide [/edit]
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  5. #5
    Membre expérimenté
    Avatar de lejimi
    Homme Profil pro
    Écrivain public
    Inscrit en
    Mai 2004
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Écrivain public
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2004
    Messages : 182
    Billets dans le blog
    2
    Par défaut
    Eh oui, un peu lent, mais je n'avais pas pensé à utiliser 'switch' qui est vachement plus mieux qu'une palanquée de 'if' Comme quoi une réponse n'est jamais perdue.
    Gloire à qui n'ayant pas d'idéal sacro-saint
    Se borne à ne pas trop emmerder ses voisins.


    Mon tutoriel pour débuter avec Inkscape
    D'autres tutoriels intéressants dans la rubrique Open Source
    Et n'oubliez pas la FAQ Open Source !

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Par défaut
    mreci pr l'info g mis sa dans mon code mai j'ai d'autre question d'ordre général :

    je dois deplacer par la souris (drag &drop)un point de couleur et un autre par le clavier en fouillant j'ai trouver comment utiliser le keylistenner et mouselistenner

    mais j'ai une erreur sur la creation de ma classe

    et l'autre question j'ai des bouton start paus reprise et on ma dit qu'il faut mette le runnable pr avoir les methode stop et start (reprise je voi pas trop)

    comment faire pour que les deplacement soit pris en compte apres le start et les autres bouton

    de vous donne mon code pr ke vous compreniez mieux
    vous verrez je pense avoir les bases mais je ne c'est pas les mettre vraiment en place surtout le run() je pense je ne s'est pas quoi mettre

    merci pr l'aide vous etes geniaux
    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
     
    import javax.swing.*;
    import java.awt.*;
    import java.io.*;
    import java.util.*;
    import java.lang.*;
    import java.awt.event.*;
     
     
    class Niveau2 extends JFrame implements Runnable,KeyListener,MouseListener,MouseMotionListener
    {
    	ZoneJeux monLaby1;
    	ZoneJeux monLaby2;
    	JButton b1;
    	JButton b2;
    	JButton b3;
    	JButton b4;
    	boolean attend;
     
    	Niveau2(){
     
    		JPanel haut = new JPanel();
    	    JPanel milieu = new JPanel();
    		JPanel bas = new JPanel();
     
    		b1=new JButton("Depart");
    		b2=new JButton("Pause");
    		b3=new JButton("Reprise");
       		b4=new JButton("Quitter");
     
    		monLaby1= new ZoneJeux();
    		monLaby2= new ZoneJeux();
     
    		milieu.setLayout(new GridLayout(1,2));
     
    		haut.add(b1);
    		haut.add(b2);
    		haut.add(b3);
    		haut.add(b4);
     
    		milieu.add(monLaby1);
    		milieu.add(monLaby2);
     
       		haut.setBackground(Color.gray);
       		milieu.setBackground(Color.white);
       		bas.setBackground(Color.gray);
     
      		Container c=this.getContentPane();
     		c.add("North",haut);
       		c.add("Center",milieu);
      		c.add("South",bas);
     
    		b1.addActionListener(new ActionB1());
    	    b2.addActionListener(new ActionB2());
    	    b3.addActionListener(new ActionB3());
    		b4.addActionListener(new ActionB4());
     
    		addKeyListener(this);
    		addMouseListener(this);
    	 	addMouseMotionListener(this);
     
    		pack();
    		setVisible(true);
     
    		monLaby1.addSouris(Color.RED);
    		monLaby2.addSouris(Color.BLUE);
    	}
     
    	public void run(){
    		while(1){
    			if(attend){
    				wait();
    			}
    		}
    	}
     
    	public void keyPressed(KeyEvent evt) {
    		int code = e.getKeyCode();
    		switch(code)
    		{
    		     case VK_LEFT :
    		     {
    		           monLaby1.bougeSouris(monLaby1.getPosSourisX()-1,monLaby1.getPosSourisX());
    		           break;
    		     }
    		     case VK_RIGTH :
    		     {
    		           monLaby1.bougeSouris(monLaby1.getPosSourisX()+1,monLaby1.getPosSourisX());
    		           break;
    		     }
    		     case VK_UP :
    		     {
    		           monLaby1.bougeSouris(monLaby1.getPosSourisX(),monLaby1.getPosSourisX()-1);
    		           break;
    		     }
    		     case VK_DOWN :
    		     {
    		           monLaby1.bougeSouris(monLaby1.getPosSourisX(),monLaby1.getPosSourisX()+1);
    		           break;
    		     }
    	 	}
    	}
     
    	public void mousePressed(MouseEvent e) {
    		 monLaby2.bougeSouris((int)(getX()/10),(int)(getY()/10));
    		 repaint();
    	}
    	public void mouseDragged(MouseEvent e) {
    		 //vérifier que la souris est dans la zone
    		 if (contains(e.getX(),e.getY())) {
    		  monLaby2.bougeSouris((int)(getX()/10),(int)(getY()/10));;
    		  repaint();
    		 }
    	}
     
    	class ActionB1 implements ActionListener{
    	    public void actionPerformed(ActionEvent e){
    			start();
     
    	  	}
     	}
      	class ActionB2 implements ActionListener {
    	    public void actionPerformed(ActionEvent e){
    			attend = true;
    		}
      	}
      	class ActionB3 implements ActionListener {
    	    public void actionPerformed(ActionEvent e){
    			attend = false
    			notify();
    		}
      	}
      	class ActionB4 implements ActionListener {
        	public void actionPerformed(ActionEvent e){
      		System.exit(0);
    		}
      	}
     
    }
    [/quote][/code]

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Par défaut
    une Idée il faudait peut etre crée deux classe implements de theard qui l'uen gérai les deplacement souris et l'autre les déplacement clavier en passant en paramètre les info nécessaire tel que la zonedeJeux et les boutons

    qu'en pensez vous et comment faire ca

  8. #8
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    1. Au niveau du wait/notify :
    Ca plantera dans l'état normal du code. Il faut que tu remplaces wait(); par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    synchronized(this) {
      while (attend)
        wait();
    }
    Et notify(); par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    synchronized(this) {notify();}
    2. Je te conseille de mettre un FlowLayout dans ton JPanel haut.

    3. Je ne vois pas bien l'intéret du Thread (à part consommer 100% de CPU). D'ailleurs tu ne le lances pas (il faut pour ca appeler start();). Qu'est censé faire ton programme quand on appelle pause, au juste ?
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  9. #9
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Pour ton dernier message, je ne suis meme pas sur de l'utilité d'utiliser des threads dans ton programme. Pour en etre sur, quel doit etre l'effet d'un clic sur le bouton pause ?

    1. Ca interrompt une tache qui tourne en boucle (genre faire des effets de lumière)
    ou
    2. Ca annule les effets des commandes clavier/souris ?
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Par défaut
    c'est un peu mon probleme comme je l'ai di je doi deplacer un point avec la souris et un autre avec le clavier

    et je doi avoir des bouton start qui lance la possibilité de deplacement je pense

    pause ki empeche la possibilité de déplacement et reprise la relance

    comment faire ca

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Par défaut
    ca annule les effet souris clavier

    mais pr info je pa encore traiter je ferai un autre nivo au jeu ou les deplacmenent seront automatique et la ca arretera les deplacement
    mais jy suis pa encore pr l'instant juste le deplacement souris clavier

  12. #12
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Dans ce cas, tu n'as pas besoin de Threads et tout ca.

    Tu gardes ton booleen attend. Quand tu reçois un évènement clavier/souris, tu testes sa valeur. Si le jeu est en pause, tu ne fais rien. Sinon, tu fais le traitement classique.

    Au niveau des Threads qui écoutent clavier et souris, le boulot est déjà fait par Swing. Tu n'as qu'à écrire quoi faire quand on détecte des évènements, mais tu n'as pas besoin de chercher plus loin.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Par défaut
    merci encore du coup de main en prennant en compte vos infos j'ai modifier mon code par :
    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
     
    class Niveau2 extends JFrame implements KeyListener,MouseListener,MouseMotionListener
    {
    	ZoneJeux monLaby1;
    	ZoneJeux monLaby2;
    	JButton b1;
    	JButton b2;
    	JButton b3;
    	JButton b4;
    	boolean attend;
     
    	Niveau2(){
     
    		attend = true;
     
    		JPanel haut = new JPanel();
    	    JPanel milieu = new JPanel();
    		JPanel bas = new JPanel();
     
    		b1=new JButton("Depart");
    		b2=new JButton("Pause");
    		b3=new JButton("Reprise");
       		b4=new JButton("Quitter");
     
    		monLaby1= new ZoneJeux();
    		monLaby2= new ZoneJeux();
     
    		milieu.setLayout(new GridLayout(1,2));
     
    		haut.add(b1);
    		haut.add(b2);
    		haut.add(b3);
    		haut.add(b4);
     
    		milieu.add(monLaby1);
    		milieu.add(monLaby2);
     
       		haut.setBackground(Color.gray);
       		milieu.setBackground(Color.white);
       		bas.setBackground(Color.gray);
     
      		Container c=this.getContentPane();
     		c.add("North",haut);
       		c.add("Center",milieu);
      		c.add("South",bas);
     
    		b1.addActionListener(new ActionB1());
    	    b2.addActionListener(new ActionB2());
    	    b3.addActionListener(new ActionB3());
    		b4.addActionListener(new ActionB4());
     
    		addKeyListener(this);
    		addMouseListener(this);
    	 	addMouseMotionListener(this);
     
    		pack();
    		setVisible(true);
     
    		monLaby1.addSouris(Color.RED);
    		monLaby2.addSouris(Color.BLUE);
    	}
     
    	public void keyPressed(KeyEvent evt) {
    		if(!attend){
    			int code = evt.getKeyCode();
    			switch(code)
    			{
    		  	 	case VK_LEFT :
    		  	    {
    		  	       monLaby1.bougeSouris(monLaby1.getPosSourisX()-1,monLaby1.getPosSourisX());
    		           break;
    		     	}
    		      	case VK_RIGTH :
    		    	{
    		           monLaby1.bougeSouris(monLaby1.getPosSourisX()+1,monLaby1.getPosSourisX());
    		           break;
    		     	}
    		     	case VK_UP :
    		     	{
    		           monLaby1.bougeSouris(monLaby1.getPosSourisX(),monLaby1.getPosSourisX()-1);
    		           break;
    		    	}
    		   		case VK_DOWN :
    		    	{
    		           monLaby1.bougeSouris(monLaby1.getPosSourisX(),monLaby1.getPosSourisX()+1);
    		           break;
    		    	}
    			}
    	 	}
    	}
     
    	public void mousePressed(MouseEvent e) {
    		if(!attend){
    			 monLaby2.bougeSouris((int)(getX()/10),(int)(getY()/10));
    			 repaint();
    	 	}
    	}
    	public void mouseDragged(MouseEvent e) {
    		if(!attend){
    		 	if (contains(e.getX(),e.getY())) {
    		 	 monLaby2.bougeSouris((int)(getX()/10),(int)(getY()/10));;
    		 	 repaint();
    		 	}
    		}
    	}
     
    	class ActionB1 implements ActionListener{
    	    public void actionPerformed(ActionEvent e){
    			attend = false;
     
    	  	}
     	}
      	class ActionB2 implements ActionListener {
    	    public void actionPerformed(ActionEvent e){
    			attend =true;
     
    		}
      	}
      	class ActionB3 implements ActionListener {
    	    public void actionPerformed(ActionEvent e){
    			attend = false;
     
    		}
      	}
      	class ActionB4 implements ActionListener {
        	public void actionPerformed(ActionEvent e){
      		System.exit(0);
    		}
      	}
     
    }
    mais g des erreur je vous les donne :
    N:\Projet JAVA\Le mien\Niveau2.java:9: Niveau2 is not abstract and does not override abstract method keyTyped(java.awt.event.KeyEvent) in java.awt.event.KeyListener
    class Niveau2 extends JFrame implements KeyListener,MouseListener,MouseMotionListener
    ^
    N:\Projet JAVA\Le mien\Niveau2.java:75: cannot resolve symbol
    symbol : variable VK_LEFT
    location: class Niveau2
    case VK_LEFT :
    ^
    N:\Projet JAVA\Le mien\Niveau2.java:80: cannot resolve symbol
    symbol : variable VK_RIGTH
    location: class Niveau2
    case VK_RIGTH :
    ^
    N:\Projet JAVA\Le mien\Niveau2.java:85: cannot resolve symbol
    symbol : variable VK_UP
    location: class Niveau2
    case VK_UP :
    ^
    N:\Projet JAVA\Le mien\Niveau2.java:90: cannot resolve symbol
    symbol : variable VK_DOWN
    location: class Niveau2
    case VK_DOWN :

    mais je vois pas trop koi faire

  14. #14
    Membre expérimenté
    Avatar de lejimi
    Homme Profil pro
    Écrivain public
    Inscrit en
    Mai 2004
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Écrivain public
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2004
    Messages : 182
    Billets dans le blog
    2
    Par défaut
    Pour ta première erreur il semble simplement que tu aies oublié de redéfinir la méthode keyTyped() ce que tu dois obligatoirement faire puisqu'elle fait partie de l'interface KeyListener implémentée par ta classe. Tu dois aussi redéfinir keyReleased() Quand on implémente une interface, on doit redéfinir toutes les méthodes qu'elle contient. Si tu n'as pas besoin de cette méthode, écrit simplement son en-tête suivie d'un bloc vide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private void keyPressed(KeyEvent evt) { }
    En ce qui concerne les autres messages d'erreur : VK_LEFT, VK_RIGHT etc... sont des champs statiques de la classe KeyEvent tu dois donc toujours les désigner ainsi : KeyEvent.VK_LEFT , KeyEvent.VK_RIGHT...
    Gloire à qui n'ayant pas d'idéal sacro-saint
    Se borne à ne pas trop emmerder ses voisins.


    Mon tutoriel pour débuter avec Inkscape
    D'autres tutoriels intéressants dans la rubrique Open Source
    Et n'oubliez pas la FAQ Open Source !

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Par défaut
    ca marche pour le key listenner

    par contre j'ai un soucis d'affichage c'est lors de mon deplacement qd je repaint il le refait en decaler je ne c'est pas pourquoi

  16. #16
    Membre expérimenté
    Avatar de lejimi
    Homme Profil pro
    Écrivain public
    Inscrit en
    Mai 2004
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Écrivain public
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2004
    Messages : 182
    Billets dans le blog
    2
    Par défaut
    Il doit y avoit une erreur dans ta méthode paintComponent() Il faudrait voir son code.
    Gloire à qui n'ayant pas d'idéal sacro-saint
    Se borne à ne pas trop emmerder ses voisins.


    Mon tutoriel pour débuter avec Inkscape
    D'autres tutoriels intéressants dans la rubrique Open Source
    Et n'oubliez pas la FAQ Open Source !

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Par défaut
    voila le code que j'ai pour les dessin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public void paintComponent(Graphics g)
    	{
    		for(int i=0; i<20;i++){
    			for( int j=0; j<15;j++){
    				laby[j][i].dessine(g);
     
    			}
    		}
     
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	public void dessine(Graphics g) {
    		g.setColor(couleur);
    		g.fillRect((1+posX)*10+posInitX,(1+posY)*10+posInitY,taille,taille);
        }

    a propos j'ai une question comment faire pour apres avoir ton dessiner ton mon labyrinthe et ces objet lorsque je deplace ne redessiner ke le deplacement c'est à dire ancienne position et nouvelle position

    merci vous etes trop fort

  18. #18
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    utilise repaint(x, y w, h); pour repeindre juste une partie de l'écran.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  19. #19
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Par défaut
    merci pour l'info mais comment elle marche cette fonction en gros car je voi pas trop comment l'utiliser dans mon cas

    question on ne peut pas avoir une focntion repaint(x,y) coordonée de mes case qui ensuite ferai appel appel a un autre paintComponent que je definirais?

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

Discussions similaires

  1. [débutant] Questions générales
    Par PoZZyX dans le forum Java ME
    Réponses: 4
    Dernier message: 27/03/2006, 15h44
  2. [FLASH] pb debutant
    Par ultrakas dans le forum Flash
    Réponses: 2
    Dernier message: 05/06/2003, 00h48
  3. [debutant]Limiter le temps de saisi
    Par Nasky dans le forum C
    Réponses: 5
    Dernier message: 17/03/2003, 15h47
  4. feuille de style generale
    Par Manu_Just dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/03/2003, 10h06
  5. Réponses: 3
    Dernier message: 09/02/2003, 01h09

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