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 avec des entiers


Sujet :

Composants Java

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 98
    Points : 54
    Points
    54
    Par défaut JSpinner avec des entiers
    Re bonjour,
    Dernierement je pose beaucoup de question, alors...
    Bon, J'ai un jspinner d'entier, et je veux que ce jspinner reste accesible par l'utilisateur, le probleme c'est que l'utilisateur peut y taper n'importe quoi, alors que je ne veux qu'il y ait que des entiers...quelqu'un a une idée??
    Merci à l'avance.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Peut-être qu'en utilisant un javax.swing.text.JFormattedTextField avec un javax.swing.text.NumberFormatter, ça devrait aller mieux...

    Ou bien utiliser un javax.swing.JSpinner.NumberEditor, mais je ne connais pas cette classe.

    Edit: en regardant plus en détail la documentation de JSpinner.NumberEditor, je crois que ça correspond parfaitement à ta question.

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 98
    Points : 54
    Points
    54
    Par défaut
    Oui,merci pour ta réponse ,je viens de trouver ça moi aussi, le probléme c'est que j'ai pas vraiment saisi comment utiliser le JSpinner.NumberEditor pour moon cas, un exemple me serait trés bénefique...

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Je crois que ce bout de code t'aidera :
    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
    // Construction du JSpinner spécialisé pour des nombres
    JSpinner spinner = new JSpinner();
    JSpinner.NumberEditor spinnerEditor = new JSpinner.NumberEditor();
    spinner.setEditor(spinnerEditor);
     
    // Valeur minimale = 0, max = 100. défaut = 50 et le pas = 5.
    spinnerEditor.getModel().setMinimum(0);
    spinnerEditor.getModel().setMaximum(100);
    spinnerEditor.getModel().setStepSize(5);
    spinnerEditor.getModel().setValue(50);
     
    // Gestion des décimales (aucune en l'occurence) :
    spinnerEditor.getFormat().applyPattern("###,##0");
     
    // Ajout du spinner au panel
    monPanel.add(spinner);
     
    // Pour récupérer la valeur :
    int i = (Integer)spinnerEditor.getModel().getNumber();

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 98
    Points : 54
    Points
    54
    Par défaut
    Le JSpinner.NumberEditor() n'a pas besoin de paramétre??

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Euh... si. Désolé, j'ai pas regardé cela ^^'

    Regarde ce lien : http://java.sun.com/docs/books/tutor....html#standard

  7. #7
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 98
    Points : 54
    Points
    54
    Par défaut
    Merci dingoth pour ta réponse, le probléme c'est que de cette façon l'utilisateur peut toujours cliquez sur le Spinner et tapez n'importe quoi ,et du coup mon spinner sera bloqué, alors ce que je veux , c'est qu'il puisse cliquez sur le Spinner mais n'ecrire que des entiers....Donc c'est toujours pas gagné..

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Intéréssé de programmation
    Inscrit en
    Octobre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Intéréssé de programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2014
    Messages : 24
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par bellemlih Voir le message
    Merci dingoth pour ta réponse, le probléme c'est que de cette façon l'utilisateur peut toujours cliquez sur le Spinner et tapez n'importe quoi ,et du coup mon spinner sera bloqué, alors ce que je veux , c'est qu'il puisse cliquez sur le Spinner mais n'ecrire que des entiers....Donc c'est toujours pas gagné..
    Bonjour,
    je ne peut pas te donner de code en particulier (j'en suis dailleur désolé) mais j'ai la façon de faire!

    Dans un premier temps il faut que tu crée une fonction qui, dès que l'utilisateur tape une valeur dans ton JSpinner essaye (via un try) de transformer le String en int si il n'y parvient pas il faut que tu écrive sur ton JSpinner le résultat qu'il y avais avant que l'utilisateur n'écrive n'importe quoi (que tu avais préalablement mis dans une variable).

    Voilà, je sais que je n'ai pas étais clair (par le manque de code) mais j'espère quand même t'avoir aidé, dis moi si tu y ai arrivé (ou pas) .

    Cordialement, theinfrarougeGP

  9. #9
    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
    Bonjour @Theinfrarougegp,

    Nonobstant le fait qu'il y a de fortes chances que @bellemlih soit passé à autre chose depuis 2008, tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    final JSpinner spinner = new JSpinner(new SpinnerNumberModel(50,0,100,1));   
    ((NumberFormatter)((JFormattedTextField)((DefaultEditor)spinner.getEditor()).getTextField()).getFormatter()).setAllowsInvalid(false);
    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. Réponses: 4
    Dernier message: 03/07/2011, 17h50
  2. Réponses: 4
    Dernier message: 12/11/2009, 09h58
  3. Travailler avec des entiers seulement
    Par sivaller dans le forum OpenGL
    Réponses: 4
    Dernier message: 29/03/2008, 18h56
  4. Contraintes dans les calculs avec des entiers
    Par boromir73 dans le forum Ada
    Réponses: 5
    Dernier message: 07/10/2007, 19h02
  5. [MySQL] Requête insertion mais que avec des entiers
    Par elikakoun dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 26/05/2007, 16h23

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