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

avec Java Discussion :

Compteur de clique dans 2 fenêtres


Sujet :

avec Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Compteur de clique dans 2 fenêtres
    Bonjour,

    je débute en Java, dans le cadre de mes études je dois faire ceci :

    Créer 2 fenêtre de couleur différente, et lorsque je clique dans l'une des fenêtres celle ci marque 1, si je re-clique dans n'importe qu'elle fenêtre la valeur s'incrémente et passe à 2 et ainsi de suite.

    Pour le moment j'ai réalisé mes 2 fenêtres et j'ai réussi à faire un compteur dans quelqu’une des fenêtres, cependant il me faudrait un compteur pour les deux fenêtres ...

    voila ce que pour le moment ce que j'ai fait :

    ______________________________________________________
    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
    import java.awt.Color;
    import java.util.*;import javax.swing.JFrame;
    import javax.swing.JPanel;
    /**
     *
     
     */
    public class Traceurdedroite {         //( ce n'est pas un traceur de droite ;) )
     
     
     
        public static void main(String[] args) {
     
           Mafenetre1 fe1 = new Mafenetre1();
        fe1.setVisible(true) ;
          Mafenetre2 fe2 = new Mafenetre2();
        fe2.setVisible(true) ;
    __________________________________________________




    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
     
    package traceurdedroite;
     
     
    import java.awt.Color;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
     
    public class Mafenetre1 extends JFrame implements MouseListener {
     
     
        int x1,x2,y1,y2;
        private JPanel pan;
        boolean clic1;
     
     
        public Mafenetre1(){
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            setTitle("Fenetre jaune");
            setSize(300,450);
            clic1 = false;
            addMouseListener(this);
            pan = new JPanel();
            getContentPane().add(pan);
            pan.setBackground(Color.yellow);
     
        }
     
           int i = 0;
     
    void clic(int x,int y){
        if(clic1 == false){
            clic1 = true;
            x1 = x;
            y1 = y;
            i++;
             getGraphics().drawString(String.valueOf(i),x,y);
            clic1 = false;
     
    }
     
    }
     
     
        @Override
        public void mouseClicked(MouseEvent e) {
          clic(e.getX(),e.getY());
        }
     
        @Override
        public void mousePressed(MouseEvent e) {
     
        }
     
        @Override
        public void mouseReleased(MouseEvent e) {
     
        }
     
        @Override
        public void mouseEntered(MouseEvent e) {
     
        }
     
        @Override
        public void mouseExited(MouseEvent e) { }
     
    }
    _____________________________________________________



    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
     
    package traceurdedroite;
     
     
    import java.awt.Color;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
     
     
     
    public class Mafenetre2 extends JFrame implements MouseListener {
     
     
        int x1,x2,y1,y2;
        private JPanel pan;
        boolean clic1;
     
     
       int i = 0;
     
    void clic(int x,int y){
        if(clic1 == false){
            clic1 = true;
            x1 =x;
            y1 = y;
            i++;
             getGraphics().drawString(String.valueOf(i),x,y);
            clic1 = false;
     
    }
    }   
     
     
     
     
     
     
     
     
     
     
        @Override
        public void mouseClicked(MouseEvent e) {
          clic(e.getX(),e.getY());
        }
     
        @Override
        public void mousePressed(MouseEvent e) {
     
        }
     
        @Override
        public void mouseReleased(MouseEvent e) {
     
        }
     
        @Override
        public void mouseEntered(MouseEvent e) {
     
        }
     
        @Override
        public void mouseExited(MouseEvent e) { }
     
    }

    Voila en gros mon programme, pour le moment ma 1er idée serait de déclarer le "int i = 0; pour que i s'incrémente pour les deux classes, cependant j'ai pas encore réussi à le faire ...

    Si vous avez le moyen d'éclairer ma chandelle je vous en remercie !

  2. #2
    Membre actif Avatar de Mamypirate
    Homme Profil pro
    Samouraï
    Inscrit en
    Mai 2011
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Samouraï
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 108
    Points : 211
    Points
    211
    Par défaut
    Il faut que la variable servant de compteur soit commune à tes 2 fenêtres.

    Voici comment tu pourrais procéder :

    Un listener commun à tes fenêtres (contenant le compteur) :

    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
    public class MonListener implements MouseListener {
     
    	private int compteur;
     
    	public monListener() {
    		compteur = 0;
    	}
     
    	@Override
    	public void mouseClicked(MouseEvent e) {
    		compteur++;
    		e.getComponent().getGraphics().drawString(String.valueOf(compteur),e.getX(), e.getY());
    	}
     
    	@Override
    	public void mouseEntered(MouseEvent e) {}
     
    	@Override
    	public void mouseExited(MouseEvent e) {}
     
    	@Override
    	public void mousePressed(MouseEvent e) {}
     
    	@Override
    	public void mouseReleased(MouseEvent e) {}
     
    }
    Une seule classe pour ta fenêtre (avec la couleur en paramètre) :

    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
    public class Mafenetre1 extends JFrame {
     
    	private JPanel pan;
     
    	public Mafenetre1(Color color, MouseListener listener) {
     
    		setDefaultCloseOperation(EXIT_ON_CLOSE);
    		setSize(300,450);
    		addMouseListener(listener);
    		pan = new JPanel();
    		getContentPane().add(pan);
    		pan.setBackground(color);
     
    	}
    }
    TraceurDeDroite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class Traceurdedroite { 
     
    	public static void main(String[] args) {
     
    		MouseListener listener = new MonListener();
     
    		JFrame fe1 = new MaFenetre(Color.yellow, listener);
    		fe1.setVisible(true);
    		JFrame fe2 = new Mafenetre(Color.red, listener);
    		fe2.setVisible(true);
     
    	}
    }
    Bon courage

  3. #3
    Membre régulier Avatar de Tora21
    Homme Profil pro
    Développeur("Java"); //Débutant
    Inscrit en
    Mai 2011
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur("Java"); //Débutant

    Informations forums :
    Inscription : Mai 2011
    Messages : 140
    Points : 116
    Points
    116
    Par défaut
    Juste une petit problème que j'ai noté, il ne comptabilise pas les pressions lorsque la souris est en mouvement. Il faudrait surcharger le mousePressed(), je pense que ça résoudrai le problème.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour ton aide ! Effectivement ca marche je vais pouvoir passer à la suite !

Discussions similaires

  1. probleme dans mon compteur de clique
    Par thechef dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 24/02/2009, 19h00
  2. Réponses: 0
    Dernier message: 29/08/2007, 17h36
  3. Réponses: 3
    Dernier message: 15/11/2006, 13h57
  4. Supprimer la croix dans une fenêtre modale
    Par AnneOlga dans le forum C++Builder
    Réponses: 3
    Dernier message: 15/01/2004, 14h52
  5. [JDialog] Modification dans une fenêtre
    Par cefabien dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 01/10/2003, 13h18

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