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 :

[JSlider] Méthode Statchange


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Par défaut [JSlider] Méthode Statchange
    Bonjour ,
    j'ai un petit probleme sur la gestion d'evenement du composant JSlider :
    J'ai deux methode ZoomIn et ZoomOut qui permettent respectivement de zoomer et dézoomer mon Image . Le probleme c'est que j'ai mis une Jslider , pour parametrer le zoom . mais je n'ai pas trouvé une variante simple pour appliquer mon if ..else sur la methode StatChange .

    Est ce que quelqu'un a une solution ? .

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 098
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 098
    Par défaut
    Personnelement je n'ai rien compris... Pourquoi utiliser un JSlider si c'est pour lui faire appeler ZoomIn et ZoomOut ? (au lieu de 2 boutons + et - par exemple) ?

    A moins que l'idée au départ était d'utiliser une slider pour controler "la valeur de zoom" ce qui me semblerait un peu plus logique...
    (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 Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Salut,

    Il faut sauvegarder la valeur du slider précédente dans le listener. Ensuite, appeler slider.getValue() pour obtenir la valeur courante et si elle est inférieure, c'est un zoom -. Si elle est supérieure, c'est un zoom +.

    a+

  4. #4
    Membre confirmé
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Par défaut
    Citation Envoyé par hwoarang Voir le message
    Salut,

    Il faut sauvegarder la valeur du slider précédente dans le listener. Ensuite, appeler slider.getValue() pour obtenir la valeur courante et si elle est inférieure, c'est un zoom -. Si elle est supérieure, c'est un zoom +.

    a+
    Je suis tout à fait d'accord avec toi mais je ne sais pas le faire. Aurais-tu un exemple de code ?

    Citation Envoyé par wax78 Voir le message
    Personnellement je n'ai rien compris... Pourquoi utiliser un JSlider si c'est pour lui faire appeler ZoomIn et ZoomOut ? (au lieu de 2 boutons + et - par exemple) ?

    A moins que l'idée au départ était d'utiliser une slider pour controler "la valeur de zoom" ce qui me semblerait un peu plus logique...
    Oui, j'ai des boutons mais je voudrais avoir aussi un Slider gradué (sur Google Maps on a les deux).

  5. #5
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Un truc dans ce gout la :
    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
    JSlider s = new JSlider();
             s.addChangeListener(new ChangeListener()
             {
                int lastVal = 0;
     
                @Override
                public void stateChanged(ChangeEvent e)
                {
                   JSlider s = (JSlider) e.getSource();
                   int newVal = s.getValue();
                   if (newVal > lastVal)
                   {
                      System.out.println("+");
                   }
                   else
                   {
                      System.out.println("-");
                   }
                   lastVal = newVal;
                }
             });

  6. #6
    Membre confirmé
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Par défaut
    Citation Envoyé par hwoarang Voir le message
    Un truc dans ce gout la :
    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
    JSlider s = new JSlider();
             s.addChangeListener(new ChangeListener()
             {
                int lastVal = 0;
     
                @Override
                public void stateChanged(ChangeEvent e)
                {
                   JSlider s = (JSlider) e.getSource();
                   int newVal = s.getValue();
                   if (newVal > lastVal)
                   {
                      System.out.println("+");
                   }
                   else
                   {
                      System.out.println("-");
                   }
                   lastVal = newVal;
                }
             });
    Merci mais ça ne marche pas. J'ai déjà fait cela et là, j'ai retesté avec ton code mais le résultat est le même...

  7. #7
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Ca ne marche pas ? Voila qui est precis... Que repondre d'autre que "chez moi, ca marche" ?
    Bref, c'etait juste un petit exemple qui illustre l'utilisation d'un JSlider. Il va falloir montrer un peu plus de code (ce que tu veux faire, comment tu as intégré le code du slider, ...). Parce que ma boule de cristal est en panne cette semaine...

  8. #8
    Membre confirmé
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Par défaut
    Citation Envoyé par hwoarang Voir le message
    Ca ne marche pas ? Voila qui est precis... Que repondre d'autre que "chez moi, ca marche" ?
    Bref, c'etait juste un petit exemple qui illustre l'utilisation d'un JSlider. Il va falloir montrer un peu plus de code (ce que tu veux faire, comment tu as intégré le code du slider, ...). Parce que ma boule de cristal est en panne cette semaine...
    Bonjour , merci ça marche , je l'ai mis ou il faut , mm si ça chamboule toute mon organisation de départ :s .

  9. #9
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 098
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 098
    Par défaut
    Citation Envoyé par Eausport Voir le message
    Oui, j'ai des boutons mais je voudrais avoir aussi un Slider gradué (sur Google Maps on a les deux).
    Dans ce cas il ne faut pas procéder la manière décrite avec le slider.

    Le slider aura une valeur min et max du facteur de zoom.
    Ce facteur de zoom pourra donc avoir une valeur située entre les 2 bornes.
    Les boutons eventuels + et - devront agir sur cette valeur. (et ne pas depasser sinon il y'aura une incohérence avec le slider, ce qui n'est pas non plus interdit en fait)
    Ce facteur servira a la méthode paint (ou autre) pour changer le scale de l'image. C'est tout.
    (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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Méthodes]UML vs MERISE Lequel pour quoi ?
    Par Daniel258 dans le forum Méthodes
    Réponses: 5
    Dernier message: 31/03/2003, 11h49
  2. Gros Problème avec DirectShow et la méthode RELEASE
    Par Olivier Delmotte dans le forum DirectX
    Réponses: 3
    Dernier message: 10/03/2003, 18h10
  3. [Singleton] Différences avec méthodes statiques
    Par Franche dans le forum Design Patterns
    Réponses: 1
    Dernier message: 26/02/2003, 17h10
  4. Probleme d'impression avec la méthode TForm->Print()
    Par Kid Icarus dans le forum C++Builder
    Réponses: 13
    Dernier message: 31/07/2002, 14h26
  5. Cryptage en C selon la méthode de césat
    Par shenron dans le forum C
    Réponses: 2
    Dernier message: 31/05/2002, 08h22

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