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

Langage Java Discussion :

conditions d'utilisation des Evenements


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club Avatar de Hyperion99
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 62
    Points : 35
    Points
    35
    Par défaut conditions d'utilisation des Evenements
    J'ai trouvé dans un livre un exemple de code ou l'on créé ses propres evenements non pas pour la gestion de la souris, du clavier ... mais pour tester la valeur d'une variable saisie. Par exemple si la valeur saisie n'est pas un float on déclenche un evenement (qui entrainera l'affichage d'un message par exemple).
    Ce principe ne pose pas un problème par contre je me demande quel est le meilleur moyen : créer un evenement au sens java ou faire le test soit meme sans evenement ?

    Si quelqu'un peu m'eclairer sur l'utilisation des evenements en Java , cela serait tres sympas.

    Dans tous les cas, merci d'avoir porter votre attention sur ce post.
    a+

  2. #2
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Tu veux dire "Exceptions"? (pas Évènements)

    Ou alors je n'ai pas compris...

  3. #3
    Nouveau membre du Club Avatar de Hyperion99
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 62
    Points : 35
    Points
    35
    Par défaut
    je me replonge de suite dans mon livre pour essayer de mieux comprendre et donc de mieux expliquer mon problème.

    merci pour la reponse rapide.

    a+

  4. #4
    Nouveau membre du Club Avatar de Hyperion99
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 62
    Points : 35
    Points
    35
    Par défaut
    Bon ... j'ai essayé de tester le programme que le livre me proposait afin d'essayer de mieux comprendre mais finallement je me retrouve avec encore plus de problème...
    Je ne sais pas si je dois créer une autre discussion ou si je peux me permettre de demander de l'aide dans celle ci .

    J'ai les classes et interface suivantes :

    classe TOCListenerSupport

    import java.util.Collection;
    import java.util.ArrayList;

    /**
    * Created by IntelliJ IDEA.
    * User: The Thing
    * Date: 16 nov. 2006
    * Time: 16:33:15
    * To change this template use File | Settings | File Templates.
    */
    public class TOCListenerSupport {

    private Collection<TOCListener> listeners = new ArrayList<TOCListener>();
    public void addTOCListener(TOCListener listener) {
    listeners.add(listener);
    }

    public void removeTOCListener(TOCListener listener){
    listeners.remove(listener);
    }

    public void fireIsFloat(float f){
    for (TOCListener listener : listeners)
    listener.isFloat(f);
    }
    public void fireIsNotFloat(String s){
    for (TOCListener listener : listeners) {
    listener.isNotFloat(s);
    }
    }
    }



    la classe TOCField

    import javax.swing.*;
    import java.awt.event.FocusListener;
    import java.awt.event.FocusEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;

    /**
    * Created by IntelliJ IDEA.
    * User: The Thing
    * Date: 16 nov. 2006
    * Time: 16:39:02
    * To change this template use File | Settings | File Templates.
    */
    public class TOCField extends JTextField {

    private TOCListenerSupport listenerSupport = new TOCListenerSupport();

    public TOCField(){
    addFocusListener(new FocusListener(){
    public void focusGained(FocusEvent e) {
    }
    public void focusLost(FocusEvent e) {
    testValeur();
    }
    });

    addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
    testValeur();
    }
    });

    setColumns(20);
    }

    protected void testValeur(){
    String textCourant = getText();
    try {
    float f = Float.parseFloat(textCourant);
    fireIsFloat(f);
    } catch (NumberFormatException e){
    fireIsNotFloat(textCourant);
    }
    }

    public void addTextOuChiffreListener(TOCListener listener){
    listenerSupport.addTOCListener(listener);
    }

    public void removeTextOuChiffreListener(TOCListener listener){
    listenerSupport.removeTOCListener(listener);
    }

    protected void fireIsNotFloat(String s) {
    listenerSupport.fireIsNotFloat(s);
    }

    protected void fireIsFloat(float f) {
    listenerSupport.fireIsFloat(f);
    }

    }


    l'interface TOCListener

    /**
    * Created by IntelliJ IDEA.
    * User: The Thing
    * Date: 16 nov. 2006
    * Time: 16:35:20
    * To change this template use File | Settings | File Templates.
    */
    public interface TOCListener{
    void isFloat(float f);
    void isNotFloat(String s);

    }


    et enfin une classe pour tester tout ca :

    class TestAll

    import javax.swing.*;

    /**
    * Created by IntelliJ IDEA.
    * User: The Thing
    * Date: 16 nov. 2006
    * Time: 16:49:22
    * To change this template use File | Settings | File Templates.
    */
    public class TestAll extends JFrame {

    JLabel resultat = new JLabel("Pas de resultat");
    TOCField textOuChiffre = new TOCField();

    textOuChiffre.addTextOuChiffreListener( new TOCListener() {

    public void isFloat(float f) {
    resultat.setText("C'est un float : " + f);
    }

    public void isNotFloat(String s) {
    resultat.setText("C est une chaine : " + s);
    }
    });

    }

    Mon problème est que lorsque je place mon curseur sur la zone "textOuChiffre.addTextOuChiffreListener" j'ai le message suivant
    "cannot Resolve symbol 'addTextOuChiffreListener' "

    Or la methode addTextOuChiffreListener m'est bien proposé par le l'editeur....

    et quand je compile j'ai le message d'erreur suivant :
    "cannot find symbol class TOCListener "

    Pourtant je n'ai fais que recopier l'exemple du livre ....

    Quelqu'un pourrait il m'aider ? (histoire que j'ai pas l'impression d'avoir perdu trois heures )

    merci beaucoup

  5. #5
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Pour les listeners, j'ai écrit un article :
    http://rom.developpez.com/java-listeners/

    Pour le reste, c'est sans doute un problème de packages, ou de configuration de ton IDE...

  6. #6
    Nouveau membre du Club Avatar de Hyperion99
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 62
    Points : 35
    Points
    35
    Par défaut
    ok, je vais regarder tout ca
    merci beaucoup
    a+

  7. #7
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    Citation Envoyé par ®om
    Pour les listeners, j'ai écrit un article :
    http://rom.developpez.com/java-listeners/
    je vois rien!

    pour le fil courant: attention il y a des subtilités entre les évènements et les mécanisme de "call-back" simplex. Donc ne pas utiliser l'un pour l'autre.

  8. #8
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Citation Envoyé par professeur shadoko
    je vois rien!
    Le domaine developpez.com (le serveur des hébergements des membres) semble être hors-service actuellement...

    EDIT 17h18: ça remarche là...

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/08/2012, 21h20
  2. Question sur l'utilisation des evenements
    Par Seth77 dans le forum C#
    Réponses: 2
    Dernier message: 12/06/2007, 23h27
  3. utilisation des evenement dans vb
    Par CLion dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/11/2006, 09h41
  4. [VB.Net] l'utilisation des Evenements sur Objet
    Par vijeo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 06/03/2006, 12h44
  5. Réponses: 11
    Dernier message: 15/02/2006, 14h45

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