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 :

Stocker une valeur d'un JTextFormatedField


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37

    Informations forums :
    Inscription : Juin 2010
    Messages : 241
    Par défaut Stocker une valeur d'un JTextFormatedField
    Bonjour,
    j'essaye de stocker le résultat d'un champ JTextFormatedField, tapé par l'utilisateur dans une variable pour pouvoir effectuer des opérations dessus par la suite.

    voilà mon programme "simplifié"

    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
     
    import java.*
     
    public class Fenetre extends JFrame {
     public Fenetre(){
     
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    private JPanel Container=new JPanel();
    Container.setLayout(new GridBagLayout());
    double var_score=0;
     
    private JFormattedTextField jtf = new JFormattedTextField(NumberFormat.getIntegerInstance());
     
     jtf.addActionListener(new UtilisateurListener());
             this.setContentPane(Container); 	
             this.setVisible(true);
     
    class UtilisateurListener implements ActionListener{
    		 public void actionPerformed(ActionEvent arg0){
    			 System.out.print(jtf.getValue()+"\n");
    			 var_score = (Double) jtf.getValue(); // LIGNE qui pose problème
    			 System.out.print(var_score+"\n");
     
    		 }
     
    		 }
    }

    Si j'enlève les 2 dernières lignes, mon programme fonctionne.
    Pouvez vous me dire ce qu'il ne va pas ?
    Merci d'avance.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 155
    Par défaut
    jtf.getValue() n'est pas un Double

    fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(jtf.getValue().getClass())
    a la place de tes deux dernière lignes, tu verra son type réel.

    sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     int d = Integer.parseInt(jtf.getValue().toString());
    devrait marcher (pas testé)

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37

    Informations forums :
    Inscription : Juin 2010
    Messages : 241
    Par défaut
    Super, cela fonctionne maintenant. Merci

    Petite question bonus :
    Comment rafraichir les données de mon programme ?
    Car lorsque je tape ma valeur dans le jft, et que je clic ailleurs, mes données ne sont pas modifiées ( en tout cas, je ne vois pas de modification). Il faut que je tape la touche "Entrer" dans le champ jft pour "Valider" j'ai l'impression.
    Est-il possible, d'avoir une sorte de bouton, qui actualise tous les états ?

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 155
    Par défaut
    Citation Envoyé par le_sayan Voir le message
    Est-il possible, d'avoir une sorte de bouton, qui actualise tous les états ?
    enregistre une instance de ton UtilisateurListener dans le bouton?

    Le code contenu dans un listener n'est exécuté que lorsque l'évènement se produit. La il s'agit d'un ActionEvent, ce qui a une signification différente selon les objets. Dans un champ texte, c'est un appui sur entrée, en effet.

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 155
    Par défaut
    enregistre une instance de ton UtilisateurListener dans le bouton, si j'ai bien comprit.

    Le code contenu dans un listener n'est exécuté que lorsque l'évènement se produit. La il s'agit d'un ActionEvent, ce qui a une signification différente selon les objets. Dans un champ texte, c'est un appui sur entrée, en effet.

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37

    Informations forums :
    Inscription : Juin 2010
    Messages : 241
    Par défaut
    J'ai essayé cela, mais comme je débute en java, il est fort probable que j'ai oublié de faire (ou mal fait) quelque chose.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // Je déclare
    protected JButton B31 = new JButton("Actualiser");
    // j'ajoute dans mon panel
    container.add(B31);
    // J'ajoute une instance ( enfin je crois)
    B31.addActionListener(new UtilisateurListener());
    Evidemment, l'appuie sur le bouton ne produit aucun effet...
    Je pense que c'est au niveau de l'instance que cela pêche, mais je ne sais pas trop quoi mettre

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

Discussions similaires

  1. Comment stocker une valeure ecrite dans un JFrame
    Par aphilippartd dans le forum Débuter
    Réponses: 3
    Dernier message: 12/12/2008, 18h10
  2. Réponses: 1
    Dernier message: 22/04/2008, 20h35
  3. [VB2008E] Où stocker une valeur dans les items d'une combobox ?
    Par dsolheid dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/01/2008, 19h14
  4. Stocker une valeur cachee dans un mail (.msg)
    Par Phil1973 dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 20/07/2007, 10h39
  5. [TABLE]Récupérer et stocker une valeur
    Par stéphane_ais2 dans le forum Access
    Réponses: 11
    Dernier message: 10/03/2006, 14h52

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