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

Composants Java Discussion :

[JSpinner] Comment savoir le bouton cliqué


Sujet :

Composants Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2008
    Messages : 51
    Par défaut [JSpinner] Comment savoir le bouton cliqué
    Bonjour,
    J'aimerai savoir comment on fait pour connaitre le bouton sur lequel on a cliqué dans un JSpinner, pour savoir si la valeur a été incrémentée ou décrémentée. Est-ce possible??

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut
    Il y a moyen de récupérer la valeur propre du JSpinner si c'est ça que tu veux savoir.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public void stateChanged(ChangeEvent e) 
    {
             monJSpinner = (JSpinner)e.getSource();
             System.out.println("Choix="+monJSpinner.getValue().toString());
    }
    Essaie ce bout de code, normalement, tu auras la valeur de ton JSpinner dans la console
    Après, à toi de traiter l'info comme tu le souhaites.
    A++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2008
    Messages : 51
    Par défaut
    La valeur j'arrive à la récupérer ce que je veux faire en fait c'est voir si par rapport à la fois précédante elle a été augmentée ou diminuée.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut
    Il te suffit de stocker la valeur précédente et de comparer dans ce cas. Je ne vois pas d'autres solutions.
    A+

    P.S : C'est pas aussi terrible que celà en a l'air.

  5. #5
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Il y a beaucoup plus propre : il suffit de créer son propre model pour le spinner, et de lui ajouter un attribut : l'ancienne valeur. Voici un petit exemple codé vite fait :
    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
     
    import javax.swing.JFrame;
    import javax.swing.JSpinner;
    import javax.swing.SpinnerNumberModel;
     
     
    public class SaveAncienValueSpinner extends SpinnerNumberModel
    {
    	public static void main( String[] arg )
    	{
    		JSpinner spinner = new JSpinner( new SaveAncienValueSpinner( 0, 0, 10, 1 ) );
    		JFrame frame;
    		frame = new JFrame();
    		frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    		frame.getContentPane().add( spinner );
    		frame.pack();
    		frame.setVisible( true );
    	}
     
    	Object oldValue;
     
    	public SaveAncienValueSpinner( int value, int min, int max, int step )
    	{
    		super( value, min, max, step );
    		oldValue = value;
    	}
     
    	@Override
    	public Object getNextValue()
    	{
    		oldValue = getValue();
    		System.out.println( "avant next :" + getValue() );
    		return super.getNextValue();
    	}
     
    	@Override
    	public Object getPreviousValue()
    	{
    		oldValue = getValue();
    		System.out.println( "avant previous :" + getValue() );
    		return super.getPreviousValue();
    	}
     
    	public Object getOldValue()
    	{
    		return oldValue;
    	}
    }
    La méthode "getOldValue" permet de récupérer l'ancienne valeur, et donc de déduire le bouton cliquer (si bien sûr l'ensemble des données du spinner est facilement exploitable, genre une série de nombres).
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2008
    Messages : 51
    Par défaut
    Merci beaucoup pour ta classe, ça marche nickel

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/05/2012, 03h11
  2. Réponses: 2
    Dernier message: 10/11/2011, 10h09
  3. [FORMULAIRE] Comment savoir quel bouton radio est checked pour test ?
    Par Sekigawa dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/02/2009, 11h16
  4. Réponses: 6
    Dernier message: 13/02/2009, 17h25
  5. [D7] comment savoir quel bouton appelle ma form ?
    Par dleu dans le forum Langage
    Réponses: 8
    Dernier message: 21/03/2006, 08h20

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