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

Java Discussion :

Problème MouseListener JFrame


Sujet :

Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2013
    Messages : 11
    Points : 5
    Points
    5
    Par défaut Problème MouseListener JFrame
    Bonjour, j'ai un problème de listener dans une partie de mon code.
    J'affiche une vidéo dans un EmbeddedMediaPlayerComponent qui se trouve sur une JFrame et je n'arrive pas créer un événement lors du clic sur celui ci. (Pourtant l'événement fonctionne bien avec la JFrame seul).
    J'ai essayé avec une GlassPane sans succès.
    Voici mon bout de code :

    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
    import java.awt.MouseInfo;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseMotionAdapter;
    import com.sun.jna.Native;  
    import uk.co.caprica.vlcj.binding.LibVlc;  
    import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent;  
    import uk.co.caprica.vlcj.runtime.RuntimeUtil;  
    import com.sun.jna.NativeLibrary;  
    import javax.swing.JFrame;  
     
    public class IP_cam extends JFrame {  
     
      public EmbeddedMediaPlayerComponent mediaPlayerComponent;
      private int posX;                             // Position X de la souris au clic
      private int posY;                             // Position Y de la souris au clic
      public static IP_cam cam;
      public String address;
     
      public IP_cam (){  
     
            setLocation(MouseInfo.getPointerInfo().getLocation().x, MouseInfo.getPointerInfo().getLocation().y);
            setSize(384, 288);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
            setUndecorated(true);
            setName("IP_cam");
            addMouseListener(new MouseAdapter() {
                @Override                               // On récupère les coordonnées de la souris
                public void mousePressed(MouseEvent e) {
                    posX = e.getX();
                    posY = e.getY();
                    System.out.println("clic");
                }
            });
            addMouseMotionListener(new MouseMotionAdapter(){
                @Override                              // A chaque déplacement on recalcul le positionnement de la fenetre
                public void mouseDragged(MouseEvent e){
                    int depX = e.getX() - posX;
                    int depY = e.getY() - posY;
                    cam.setLocation(getX()+depX, getY()+depY);
                    System.out.println("move");
                }
            });                
      }
      public void IP_camera(String _address) {  
     
         address = _address;      
         java.awt.EventQueue.invokeLater(new Runnable(){         
         public void run(){
             cam = new IP_cam();
             cam.setVisible(true);
             NativeLibrary.addSearchPath(  
                      RuntimeUtil.getLibVlcLibraryName(), "c:/program files/videolan/vlc");  
                      Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);  
             mediaPlayerComponent = new EmbeddedMediaPlayerComponent();                             
             cam.setContentPane(mediaPlayerComponent);
             mediaPlayerComponent.getMediaPlayer().playMedia(address);                                                                    
             };
         });
      }
    }
    Merci d'avance

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 072
    Points : 7 974
    Points
    7 974
    Par défaut
    Tu n'as mis, au vu du code, aucun mouselistener sur ton mediaPlayerComponent donc forcement ca risque pas de marcher.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti Avatar de Doopeijii
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 215
    Points : 323
    Points
    323
    Par défaut
    Je plussoies ! Il manque un truc qui ressemblerai à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mediaBiduleChouette.addMouseListener(/* ton mouselistener*/)
    Ce n'est pas parce que ton composant qui contient ton EmbeddedMediaTralala a ton mouseListener que ton EmbeddedMediaChose lui a ton mouseListener !

    Bonne chance
    Un petit n'est pas de trop si le message est utile

    "Vous êtes très nombreux dans votre cas? J'ai jamais pensé que les cons étaient en minorité..."

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2013
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    J'ai déjà essayer de mettre un MouseListener sur mon EmbeddedMediaPlayerComponent et il fonctionne mais dès que la vidéo s'affiche plus aucun événement ne se passe

  5. #5
    Membre confirmé
    Avatar de Laine
    Femme Profil pro
    Doctorat informatique
    Inscrit en
    Mars 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Doctorat informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 238
    Points : 646
    Points
    646
    Par défaut
    Bonjour
    J'ai trouvé ceci dans la doc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public final java.awt.Canvas getVideoSurface()
    Get the video surface Canvas component.
    An application may want to add key/mouse listeners to the video surface component.
     
    Returns:
    video surface component
    Peut être que ça peut t'aider
    Voici le lien pour la doc
    http://vlcj.googlecode.com/svn/trunk...tMediaPlayer()

Discussions similaires

  1. problème de JFrame et de JButton
    Par sliderman dans le forum Agents de placement/Fenêtres
    Réponses: 9
    Dernier message: 12/01/2008, 18h38
  2. Probléme raffraichissement JFrame
    Par spiky33 dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 12/11/2007, 18h17
  3. Problème de JFrame vide
    Par elfiestador dans le forum Agents de placement/Fenêtres
    Réponses: 9
    Dernier message: 02/08/2007, 18h08
  4. Problème de JFrame
    Par Mantor dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 15/06/2007, 17h02

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