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 :

L'équivalent en Java du RaiseEvent VB6 ?


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Lisses
    Inscrit en
    Juillet 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juillet 2013
    Messages : 25
    Points : 11
    Points
    11
    Par défaut L'équivalent en Java du RaiseEvent VB6 ?
    Bonjour, Bonsoir,
    Mesdames et Messieurs,

    Je souhaiterais une explication simple avec code JAVA à l'appui pour réaliser ceci :

    Je dispose d'une classe Window qui affiche une simple fenêtre avec un bouton confirmer et un bouton annuler.

    Ce que je souhaite faire c'est lors de l'appui sur le bouton confirmer (ça j'arrive à le détecter) déclencher au sein de cette classe un évènement "Save" (sauvegarde) qui sera interceptée dans la classe qui utilise la classe Window (par un addActionListener?) et qui dans cette classe cliente il devra être définie la procédure Save (si une écoute sur la classe window à été posée au sein de sa classe parent)

    Merci de vos futures réponses et bonnes Vacances à toutes celles et à tous ceux qui y sont. Pour celles et ceux qui sont au boulot : bon courage

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    rien ne t'empêche de créer tes propres évenements.

    tu créés une interface par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public interface ISaveListener {
        void save();
    }
    dans ta classe de window, tu déclares une variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private List<ISaveListener> saveListeners=new ArrayList<ISaveListener>();
    et tu ajoutes 3 méthodes :

    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
    public synchronized void addSaveListener(ISave savelistener) {
       if ( savelistener==null ) throw new NullPointerException());
       if( !saveListeners.contains(savelistener) ) saveListeners.add(savelistener);
    }
    public synchronized void removeSaveListener(ISave savelistener) {
       saveListeners.remove(savelistener);
    }
    protected synchronized void fireSaveEvent() {
        for(ISaveListener listener : saveListeners ) {
            try {
            listener.save();
            }
            catch(Throwable t) {
                t.printStackTrace(); //(ou log)
            }
        }
    }
    et dans l'action listener de ton bouton, tu appelles fireSaveEvent();

    ta classe cliente n'a qu'a faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    MyWindow window = new MyWindow();
     
    window.addSaveListener(new ISaveListener() {
    public void save() {
        // ici faire la sauvegarde
    }
    };
     
    // afficher la fenêtre
    ...
    tu peux passer en paramètre de la méthode save() le modèle qui stocke les données, ou n'importe quoi qui permette d'y accèder
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Lisses
    Inscrit en
    Juillet 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juillet 2013
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Bonjour et merci

    Cela fonctionne comme je le souhaite après quelques ajouts de @SuppressWarnings("rawtypes")

    aux endroits où j'instancie ma classe Window.

    Bonne journée

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    je m'apperçois que j'avais fait 2 erreurs que tu a du corriger de toi meme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public synchronized void addSaveListener(ISaveListener savelistener) {
       if ( savelistener==null ) throw new NullPointerException());
       if( !saveListeners.contains(savelistener) ) saveListeners.add(savelistener);
    }
    public synchronized void removeSaveListener(ISaveListener savelistener) {
       saveListeners.remove(savelistener);
    }
    par contre je vois pas trop ou tu aurais été obligé d'ajouter @SuppressWarnings("rawtypes")
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Équivalent de JPanel (Java)
    Par Battant dans le forum PyQt
    Réponses: 1
    Dernier message: 20/02/2015, 12h18
  2. équivalent interface Java en javascript
    Par Sharcoux dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 15/06/2011, 10h46
  3. [PHP 5.3] Équivalent à SmartGWT (Java) pour PHP ?
    Par kolbek dans le forum Langage
    Réponses: 3
    Dernier message: 13/12/2010, 14h32
  4. [rouillé]équivalent contains Java pour les vector C++?
    Par Mr Pink Eyes dans le forum SL & STL
    Réponses: 10
    Dernier message: 29/12/2007, 22h43
  5. équivalent de << du vbnet en VB6 ?
    Par David.V dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 11/11/2006, 14h20

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