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 :

Question : Interface graphique et MouseListener


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Par défaut Question : Interface graphique et MouseListener
    Bonjour,
    c'est mon premier message sur ce forum, j'espère que c'est le bon endroit où le laisser :

    J'ai voulu ajouter un MouseListener à mon programme qui utilise une fenetre graphique, mais je n'arrive pas a cumuler les 2. Pour résumer le problème, j'aimerais savoir ce que je dois modifier pour que ce programme compile :
    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
     
    //début du programme
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
     
    public class click extends JFrame extends java.applet.Applet implements MouseListener {
     
         public void mouseClicked(MouseEvent e) {}
     
        public void mousePressed(MouseEvent e) {}
     
        public void mouseReleased(MouseEvent e) {}
     
        public void mouseEntered(MouseEvent e) {}
     
        public void mouseExited(MouseEvent e) {}
    }
    //fin du programme
    On dirait que c'est la cumulation des "extends" que le programme supporte mal (si on en supprime un ça compile très bien), mais j'ai besoin de la fenêtre et du listener. Que faire ? Merci d'avance.
    SoLune

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Par défaut
    oui C bien extends qui pose problème.extends signifie hérite de et on ne peut pas hérité de plusieurs class en Java.Donc soit tu hérite de Applet soit de JFrame.
    Tu peut faire:
    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 FenetreQuiEcouteLesClick extends JFrame implements MouseListener{
    public FenetreQuiEcouteLesClick(){
     this.addMouseListener(this);
    }
         public void mouseClicked(MouseEvent e) {}
     
        public void mousePressed(MouseEvent e) {}
     
        public void mouseReleased(MouseEvent e) {}
     
        public void mouseEntered(MouseEvent e) {}
     
        public void mouseExited(MouseEvent e) {}
    }
    Remarque:un applet est plus ou moins l'equivalent d'une JFrame mais pour une page web. De plus tu dois initialiser un applet avec la methode init()

  3. #3
    Membre éprouvé Avatar de yakanet
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Par défaut
    Dans le langage java, on ne peux pas utiliser l'heritage multiple.
    Dans ton cas tu essayes d'étendre ta classe click à la fois avec une JFrame et une applet. C'est impossible.

    Décide d'abord si c'est une application fenêtre ou si c'est une applet (mais ca ne peux pas être les 2).
    Voici quelques remarques maintenant sur ton code :
    -> Tu essayes d'utiliser 2 API graphiques, Swing (JFrame) et AWT (Applet) quelque soit ton choix d'API finale, choisie une fois pour toute et code ton appli soit tout en Swing, soit tout en AWT (équivalent Swing de l'Applet c'est la JApplet)
    -> Par convention les noms de classes s'écrivent toujours avec une Majuscule en début de mot.
    -> Si c'est une application web que tu essayes de faire, regarde du coté de JNLP (c'est un déployeur d'application à travers le web, peut être que cela pourra t'aider à faire ton choix entre l'Applet et la JFrame)
    -> Pour le problème du listener sache que tu peux aussi bien l'appliquer à une JFrame, qu'a une Applet

    En espérant que cela pourra d'aider...

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Par défaut Thk
    Farpait, ça marche. Merci pour la réponse si prompte et détaillée. Je ne connaissais pas les balises de code, je tacherai de les utiliser la prochaine fois.

Discussions similaires

  1. questions pr l'outils d interface graphique
    Par anoir19 dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 20/08/2009, 16h49
  2. Réponses: 1
    Dernier message: 27/03/2009, 11h54
  3. Question pour une interface graphique
    Par Loufoq dans le forum API graphiques
    Réponses: 8
    Dernier message: 04/02/2009, 23h22
  4. Question générale interface graphique
    Par PoZZyX dans le forum Bibliothèques
    Réponses: 7
    Dernier message: 23/04/2007, 19h06
  5. [2D] Mini-projet : question pour une interface graphique
    Par kitsune dans le forum Développement 2D, 3D et Jeux
    Réponses: 15
    Dernier message: 10/03/2006, 14h59

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