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 :

Problème avec un JTextField


Sujet :

Composants Java

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 32
    Points : 22
    Points
    22
    Par défaut Problème avec un JTextField
    Bonjour je suis en 2eme année de licence informatique et on a bien sur un projet à rendre et j'ai quelques petits problèmes qui ont besoin d'être résolus.
    Pour faire simple j'aimerai récupérer la valeur que je tape dans mon JTextField
    voici le code de la class et son listener associé :

    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
    // class Graph3
     
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
     
    import kalamar.Graphique1.Actionajouter;
     
    public class Graph3{
    	JButton lancer;
    	JLabel label1;
    	JTextField Nom;
    	public Graph3(){
     
     
    JPanel contenuFenetre3 = new JPanel();
     
    GridLayout disposition3 = new GridLayout(3,3);
    contenuFenetre3.setLayout(disposition3);
     
    JLabel label1 = new JLabel("Entrez le nom du joueur :");
    JTextField Nom = new JTextField(10);
     
    JButton lancer = new JButton("validez");
     
    contenuFenetre3.add(label1);
    contenuFenetre3.add(Nom);
    contenuFenetre3.add(lancer);
     
    JFrame cadre = new JFrame("Nom du joueur");
     
    lancer.addActionListener(new Joueur());
     
    cadre.setContentPane(contenuFenetre3);
     
    cadre.setSize(400,100);
    cadre.setVisible(true);
    	}
    class Joueur implements ActionListener{                   //ici y'a une erreur 
    	public void actionPerformed(ActionEvent ev){
    		int i;
    		i=Integer.parseInt(Nom.getText());
    		}	
    }	
    }
    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
     
    // voici le listener
     
    package kalamar;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import javax.swing.*;
     
     
     
    import java.awt.event.ActionEvent;
     
    public class Le_listener3 extends Graph2 implements ActionListener{
    	Graph3 parent3;
    	public Le_listener3(Graph3 parent3){
    		this.parent3=parent3;
    	}
    	public void actionPerformed(ActionEvent ev){
     
     
    Object SourceEvenement = ev.getSource();
    	if (SourceEvenement== parent3.lancer);
    	int i;
    	i=Integer.parseInt(Nom.getText());                 // ici y'a une erreur 
     
    	}	
    }
    voila
    A bientot, en esperant que vous répondiez
    Merci

  2. #2
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    JTextField Nom = new JTextField(10);
    nom.addactionlistener(this);

    par exemple pour lire le contenu de jtextfield
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     public void actionPerformed(ActionEvent e) {
     if (e.getSource().equals(jButton )) {
     
        System.out.println(nom.getText());
     
     }

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    Je suis désolé d'être un peu limité mais j'ai essayé de rentrer tes lignes un peu partout et j'ai toujours des erreurs; est ce que tu pourrais me dire ou je dois les placer (au moins dans quelle classe)??

    Merci déjà pour ta réponse ça m'éclaire un peu!

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Dans ton listener il faut que tu fasse
    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
     
    // voici le listener
     
    package kalamar;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import javax.swing.*;
     
     
     
    import java.awt.event.ActionEvent;
     
    public class Le_listener3 extends Graph2 implements ActionListener{
    	Graph3 parent3;
    	public Le_listener3(Graph3 parent3){
    		this.parent3=parent3;
    	}
    	public void actionPerformed(ActionEvent ev){
     
     
    Object SourceEvenement = ev.getSource();
    	if (SourceEvenement== parent3.lancer);
    	int i;
    	i=Integer.parseInt(parent3.Nom.getText());               
    	}	
    }
    ça devrait régler le problème

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    ca devrait le faire mais cependant ca le fait pas :'( ;
    je vais vous montrer ou j'ai mes erreurs

    // voici le listener
    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
     
     
    package kalamar;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import javax.swing.*; 
    import java.awt.event.ActionEvent;
     
    public class Le_listener3 extends Graph2 implements ActionListener{
        Graph3 parent3;
        public Le_listener3(Graph3 parent3){
            this.parent3=parent3;
        }
        public void actionPerformed(ActionEvent ev){
     
     
    Object SourceEvenement = ev.getSource();
        if (SourceEvenement== parent3.lancer);
        int i;
        i=Integer.parseInt(parent3.Nom.getText()); // ici il me souligne Nom en                                              me disant The Field Nom.graph3 is not visible ...               
        }                                                      
    }

    // class Graph3
    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.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
     
    import kalamar.Graphique1.Actionajouter;
     
    public class Graph3{
        JButton lancer;
        JLabel label1;
        JTextField Nom;
        public Graph3(){
     
     
    JPanel contenuFenetre3 = new JPanel();
     
    GridLayout disposition3 = new GridLayout(3,3);
    contenuFenetre3.setLayout(disposition3);
     
    JLabel label1 = new JLabel("Entrez le nom du joueur :");
    JTextField Nom = new JTextField(10);
     
    JButton lancer = new JButton("validez");
     
    contenuFenetre3.add(label1);
    contenuFenetre3.add(Nom);
    contenuFenetre3.add(lancer);
     
    JFrame cadre = new JFrame("Nom du joueur");
     
    Nom.AddActionListener(this); // ici erreur method  AddAction.. is undefined for the the type JTextField
     
    lancer.addActionListener(new Joueur());  // ici erreur method AddAction... is undefined for the type JButton
     
    cadre.setContentPane(contenuFenetre3);
     
    cadre.setSize(400,100);
    cadre.setVisible(true);
        }
    class Joueur implements ActionListener{     //ici y'a une erreur sur ActionListener cannot be resolved to a type
     
        public void actionPerformed(ActionEvent ev){
            int i;
            i=Integer.parseInt(Nom.getText());
            }    
    }    
    }

  6. #6
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    // ici il me souligne Nom en me disant The Field Nom.graph3 is not visible ...
    Ta variable n'est pas visible (private).
    Remarque : les noms de variables doivent commencer par une minuscule

    // ici erreur method AddAction.. is undefined for the the type JTextField
    Voir ma remarque ci-dessus AddActionListener

    // ici erreur method AddAction... is undefined for the type JButton
    idem

    //ici y'a une erreur sur ActionListener cannot be resolved to a type
    Ecrit cette classe dans un fichier différent portant le nom Joueur.java

  7. #7
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    Presque Bingo, j'ai plus que deux erreurs dans Graph3().
    toujours avec les trucs:
    -nom.AddActionListerner(this); //Cette methode est indéfinie pour un JTextField
    -lancer.AddActionListener(new Joueur());//indéfini pour un JButton

    Que faire ??? aidez moi please je ne sais plus quoi faire

    Pour ma classe Joueur j'ai fait un extends Graph3();
    je voulais savoir si j'avais besoin d'importer un truc de Graph3() ou bien un truc dans Joueur ou ajouter un super(); quelque part ???

    ps : je suis sous Eclipse si ca peut vous aider ...

  8. #8
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    1. Un conseil : vu ton niveau, abandonne eclipse pour l'instant. Ca t'aidera énormement à comprendre le langage.
    2. Lis ce que je t'ai écris précédemment. Les conventions de nommage veulent que les nom de méthodes et variables commencent par une minuscule. Les developpeurs du JDK respectent cette norme. Toi non, ça ne peut donc pas marcher (voir ce que j'ai colorié en rouge)...

  9. #9
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    désolé j'ai pas le choix de mon logiciel donc je suis obligé d'utiliser eclipse (j'ai testé Ubuntu ca a planté mon pc méchant à cause d'un conflit entre mes disques durs), et disons que mon temps est compter ^^
    j'ai mis en misnuscule toutes mes variable et mes méthodes, rien a faire ca persiste.
    j'ai créé ma classe joueur comme tu me la dis mais ca corrige pas mes fautes,

    je sais plus quoi faire a par redemander des explications plus claires
    mais bon c'est quand meme super sympa de répondre a mes questions qui peuvent te parraitre un peu "conne" .

  10. #10
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Java est un langage sensible à la casse.

    Donc la méthode AddActionListener n'est pas la méthode addActionListener. Or si tu vérifiais un tant soit peu les noms de méthode dans la javadoc, tu t'apercevrais rapidement que la casse que tu as tappée dans ton code n'est pas la bonne. Pour la javadoc c'est par ici

    Merci de vérifier un peu ce genre de choses, et d'étudier un tant soit peu le langage. C'est une des premières choses que l'on apprend dans la plupart des langages (ensuite pour un avis personnel, les langages ne respectant pas la casse de caractères on tendance à ressembler à de vraies porcheries dans les mains de personnes peu soigneuses, cf VB dans beaucoup de cas, bien que certains devs VB fassent du très bon boulot)

  11. #11
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Citation Envoyé par sinok Voir le message
    Java est un langage sensible à la classe.
    et également à la casse

  12. #12
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par guigui5931 Voir le message
    et également à la casse
    pis à la casse des classes également

  13. #13
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Citation Envoyé par Wamdeus Voir le message
    je suis obligé d'utiliser eclipse .
    Et pourquoi donc ? ton poste a eclipse d'installé et il ne dispose pas d'éditeur de texte (notepad, vi etc.) ?

    Citation Envoyé par Wamdeus Voir le message
    mes questions qui peuvent te parraitre un peu "conne" .
    Il n'y a pas de question conne

  14. #14
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    bon ca y'est mon getText fonctionne comme je le veux en Utilisant des AbstractAction dans le listener (que j'ai trouvé dans un tutorial du forum); cependant un autre problème survient (et oui c'est normal !!-merci anthony kavanah-) certes, losrque j'appuie sur un bouton de ma page principale qui doit me renvoyer ma fenêtre avec le JTextField hé bien elle s'affiche en minuscule et surtout avec rien dedans .... pourquoi .?? là est la question.

  15. #15
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    Twingo ca marche !!!
    j'avais oublié de mettre un set.Visible(true) pour que ma fenetre d'affiche en entier, dis donc c'est pas de la tarte bon désormais je dois afficher une photo dans mon JPanel en essayant de coller mes boutons en haut.
    je pense pour que je vais coller mes boutons avec un strut et glue ou bien choisir la "facilité" en utilisant un menu, vous en pensez quoi ???
    Connaissez vous un tutorial pour ImageIcon (j'ai beau cherché les tutoriels je trouve pas des trucs très clair )

    Merci pour tout en tout cas !

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

Discussions similaires

  1. Problème avec mon JTextField
    Par aljessy dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 24/06/2013, 09h12
  2. Problème avec un JTextField
    Par aljessy dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 31/05/2011, 13h12
  3. Problème avec un JTextField (Event)
    Par Mike888 dans le forum Composants
    Réponses: 3
    Dernier message: 24/06/2007, 16h11
  4. Problème avec un JTextField
    Par yLaplace dans le forum Composants
    Réponses: 26
    Dernier message: 13/02/2007, 19h06
  5. problème avec JTextField
    Par hammag dans le forum Composants
    Réponses: 3
    Dernier message: 15/05/2006, 14h39

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