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 :

ActionListener et AbstractButton


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 93
    Par défaut ActionListener et AbstractButton
    Bonjour,

    Tout d'abord desole pour les accents mais le forum n'accepte pas les raccourcies qwerty de MAC :/

    Pour l'un de mes projets je dois modifier un programme test que fournie la societe Epiphan que l'on peut trouver a cette adresse :
    http://www.epiphan.com/products/fram...b/development/

    Leur programme test permet d'afficher l'affichage d'un autre ordinateur sur le mien grace a un convertisseur VGA/USB
    Je dois le modifier pour enregistrer ces images toutes les 3 secondes et en faire un film a minuit mais bon probleme se situe bien en amont :

    J'ai ajoute un bouton dans une classe et je desire que le label qui affiche l'image ecoute mon bouton d'ou la ligne de code suivante :
    JButton Button = new JButton("Enregistrer");
    Button.addActionListener(label);
    Eclipse me marque alors l'erreur suivante :

    The method addActionListener(ActionListener) in the type AbstractButton is not applicable for the arguments (JFrame)
    Deja je ne comprends pas pourquoi il me dit que c'est un abstractButton alors qu'il n'appartient pas a une classe heritant de abstract...

    Quelles sont les changements que je dois inclure pour resoudre cette erreur ?

    Merci d'avance et encore desole pour les accents.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 299
    Par défaut
    Ton JButton est un AbstractButton, mais le problème ne vient pas de là.
    Ton label est une JFrame.
    Hors, le paramètre que l'on attend dans la méthode addActionListener() doit être de type ActionListener, afin d'être certain que la méthode actionPerformed() soit disponible.

    Le plus simple pour toi, c'est que ta JFrame implémente ActionListener.

    Eclipse te demandera alors d'ajouter la méthode actionPerformed() qui sera lancé lors de l'appuie du bouton.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 93
    Par défaut
    Merci ca a l'air de marcher.

    Pour ceux qui auront besoin voila ce que j'ai changé grâce aux conseils de Caalador :

    J'ai créé une nouvelle classe Fenêtre :
    package com.epiphan.vga2usb.test;

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.JFrame;

    public class Fenetre extends JFrame implements ActionListener{

    public Fenetre(String title){
    this.setTitle("title");
    }

    public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub
    }
    }
    Sans oublier de changer dans les autres classe tout les JFrame par Fenetre.

    Je risque sûrement de revenir pour d'autres questions de ce style.

    A bientôt.

    PS: mes accents refonctionnent :/ Peut être que je m'étais simplement trompé de raccourcie.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 299
    Par défaut
    Salut, si tu ne changes que cela dans ta JFrame, tu peux aussi créer une class dédiée à l'ActionListener.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public Class MonActionListener implements ActionListener {
      public void actionPerformed(ActionEvent e){}
    }
     
    // Puis dans ton code :
    bouton.addActionListener(new MonActionListener());
     
    // ou alors
    MonActionListener listener = new MonActionListener();
    bouton1.addActionListener(listener);
    bouton2.addActionListener(listener);
    Ou alors fabriquer ton ActionListener directement dans la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    bouton.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
      }
    });
    Si tu n'as pas l'habitude des Listener, je te conseil tout de même d'implementer ta JFrame directement, car ce sera plus simple pour toi d'avoir accés aux composants de ta fenêtre depuis ton listener.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 93
    Par défaut
    Salut,

    Merci pour les indications, je crois avoir fait ce que tu as dit enfin me souvient plus trop j'ai pas mal changé de code hier et aujourd'hui c'est férié au Québec .

    Et maintenant j'obtiens un programme qui se lance et me permet en cliquant sur un bouton d'enregistrer l'affichage de l'autre ordinateur.

    Donc va bien pour le moment je vais pouvoir me mettre à programmer le reste mais en prévision j'ai une petite question qui me taraude et que je n'ai pas trouvé sur google.

    Comment est ce qu'à partir de plusieurs images je peux réussir à faire une vidéo ?

    A bientôt

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 299
    Par défaut
    Ca dépend de ce que tu veux faire comme type de vidéo, mais tu as plein de petites appli qui permettent de faire une anim avec plusieurs photos. Sinon les OS fournissent des appli style Media Movie Maker ou iMovie qui permettent aussi de le faire. Photoshop le fait, Gimp doit pouvoir le faire...

Discussions similaires

  1. [ActionListener] Evénement sur tableau de boutons
    Par frouge dans le forum Composants
    Réponses: 5
    Dernier message: 08/10/2011, 02h44
  2. Récupérer la fenetre principale d'un actionlistener
    Par Cyborg289 dans le forum Agents de placement/Fenêtres
    Réponses: 10
    Dernier message: 22/01/2008, 15h00
  3. Réponses: 2
    Dernier message: 04/12/2005, 11h44
  4. [Jgraph] Utiliser l'actionListener
    Par danje dans le forum 2D
    Réponses: 2
    Dernier message: 29/11/2005, 18h03
  5. [débutant][swing][JButton][ActionListener]
    Par cmoa59 dans le forum Composants
    Réponses: 6
    Dernier message: 25/05/2005, 15h19

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