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 :

Relier les champs de saisie


Sujet :

Java

  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 138
    Par défaut Relier les champs de saisie
    bonjour tous le monde j'ai besoin de votre aide

    je veux relie relie les champ de saisie avec le programme principale, et j'arrive pas à savoir la méthode



    voila mon code

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    private JPanel SaisieHGPanel() {
    					JPanel panel = new JPanel();
    					panel.setBackground(Color.LIGHT_GRAY);
    					SpringLayout layout = new SpringLayout();
    					panel.setLayout(layout); 	//						panel.setLayout(new GridLayout(6,3));
     
    					JLabel SMinLabel = new JLabel("SMin  :");
    					panel.add(SMinLabel); 
    					JTextField SMin = new JTextField();
    					SMin.setColumns(3);			//setField( FIELD_INITVAR_SMIN, SMin ) ;
    					fieldMap.put( FIELD_INITVAR_SMIN, SMin ); 
    					panel.add(SMin);
    					JButton bouton = new JButton("Validée");
    					//bouton.addActionListener((ActionListener) this) ; 
    					panel.add(bouton);
    					SMin.getText(); 
     
     
     
    					JLabel SMaxLabel = new JLabel("SMax :");
    					panel.add(SMaxLabel );  
    					JTextField SMax = new JTextField();
    					SMax.setColumns(3);
    					fieldMap.put( FIELD_INITVAR_SMIN, SMax );
    					panel.add(SMax);
    					JButton bouton2 = new JButton("Validée");
    					panel.add(bouton2);
     
    					JLabel SInitLabel = new JLabel("SInit   :");
    				    panel.add(SInitLabel ); 
    				    JTextField SInit = new JTextField();
    				    SInit.setColumns(3);
    				    fieldMap.put( FIELD_INITVAR_SMIN, SInit );
    				    panel.add(SInit);
    				    JButton bouton3 = new JButton("Validée");
    					panel.add(bouton3);
     
    					JLabel XMinLabel = new JLabel("XMin  :");
    				    panel.add(XMinLabel ); 
    				    JTextField XMin = new JTextField();
    				    XMin.setColumns(3);
    				    fieldMap.put( FIELD_INITVAR_SMIN, XMin );
    				    panel.add(XMin);
    				    JButton bouton4 = new JButton("Validée");
    					panel.add(bouton4);
     
    					JLabel XMaxLabel = new JLabel("XMax :");
    				    panel.add(XMaxLabel ); 
    				    JTextField XMax = new JTextField();
    				    XMax.setColumns(3);
    				    fieldMap.put( FIELD_INITVAR_SMIN, XMax );
    				    panel.add(XMax);
    				    JButton bouton5 = new JButton("Validée");
    					panel.add(bouton5);
     
    					SpringUtilities.makeCompactGrid(panel, 5, 3, 20, 5, 10, 13);
    					return panel;
    				}

  2. #2
    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 : 55
    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
    Billets dans le blog
    2
    Par défaut
    Salut,

    Il faut déjà que tu utilises des indentifiants différents pour chaque champ (comme je l'ai dit dans l'autre thread ) :

    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
    public class SousFenetre{
    publicl final static String FIELD_INITVAR_SMIN = "smin";
    publicl final static String FIELD_INITVAR_SMAX = "smax";
    
    private Map<String, JTextField> fieldMap=new HashMap<>();
    ...
    
    private JPanel SaisieHGPanel() {
    					
    ...
    
    					JTextField SMin = new JTextField();
    					SMin.setColumns(3);			//setField( FIELD_INITVAR_SMIN, SMin ) ;
    					fieldMap.put( FIELD_INITVAR_SMIN, SMin ); 
    
    ...
    
    					JTextField SMax = new JTextField();
    					SMax.setColumns(3);
    					// NON fieldMap.put( FIELD_INITVAR_SMIN, SMax );
                                            fieldMap.put( FIELD_INITVAR_SMAX, SMax );
    					panel.add(SMax);
    		
    ...
    
    				}
    Ensuite tu ajoutes à la classe SousFenetre ou il y a cette méthode les méthodes getField() et setField() qui sont dans l'autre thread.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void setField(String id, String valeur) {
          JTextField field = fieldMap.get(id);
          if ( field!=null ) field.setText(valeur);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public String getField(String id) {
          JTextField field = fieldMap.get(id);
          if ( field!=null ) {
             return field.getText();
          } else {
             throw new IllegalArgumentException();
          }
    }
    Ce qui te permet de lire ce qu'il y a dans ces champs, ou d'y écrire.

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SousFenetre fenetre = new SousFenetre();
     
    // exemple d'initialisation
     
    fenetre.setField(SousFenetre.FIELD_INITVAR_SMIN, "42");
    fenetre.setField(SousFenetre.FIELD_INITVAR_SMAX, "33");
    ....
     
     
    fenetre.setVisible(true);
     
    // et la tu récupères les valeurs ...
     
    System.out.println("Smin saisi: " +  fenetre.getField(SousFenetre.FIELD_INITVAR_SMIN));
    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.

  3. #3
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 138
    Par défaut
    merci encore pour ta réponse

    pour le premier code est déjà fait, tu ne l'as pas vu parce que j'ai pas copie tous le programme pour les autres je suis entrain de l'ajouter

    j'ai une petite question, sachant que demande de période est ensemble des valeur de tableau (Tableau en C et C++) comment je peux indiquer chaque valeur à chaque case

  4. #4
    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 : 55
    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
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par nir63 Voir le message
    j'ai une petite question, sachant que demande de période est ensemble des valeur de tableau (Tableau en C et C++) comment je peux indiquer chaque valeur à chaque case
    C'est la question que tu as posée sur l'autre thread et que j'avais pas comprise, non ?

    Tu veux pouvoir saisir un tableau dans un champ c'est ça ?
    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.

  5. #5
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 138
    Par défaut
    ouiii

  6. #6
    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 : 55
    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
    Billets dans le blog
    2
    Par défaut
    Ce n'est pas très user-friendly : en général, un champ = une valeur.

    On peut toujours saisir dans un champ, une liste de valeurs séparées par des virgules et parser ensuite avec un split, mais, pour l'utilisateur, ce n'est pas forcément facile pour saisir (et ne pas faire d'erreur), surtout s'il y 200 valeurs à saisir !

    Je te conseillerais la JTable : ça me parait ce qu'il y a de plus abordable pour toi. il y a pleins d'exemples dans les tuto (et ailleurs) de JTable avec champs de saisie.
    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.

  7. #7
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 138
    Par défaut
    ok c'est parfait

    Mercii

  8. #8
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 138
    Par défaut
    j'ai des errors dans un certains niveau

    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
    private Map<String, String> fieldMap=new HashMap<>();
    
    fieldMap.put( FIELD_INITVAR_SMIN, SMin ); 
    
    public void setField(String id, String valeur) {
    				      JTextField field = fieldMap.get(id);
    				      if ( field!=null ) field.setText(valeur);
    				}
    
    public String getField(String id) {
    				     // JTextField field = fieldMap.get(id);
    				      if ( field!=null ) {
    				         return field.setText(valeur);
    				      } else {
    				         throw new IllegalArgumentException();
    				      	}
    				}

  9. #9
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 138
    Par défaut
    j'ai essayé de trouver une solution mais

  10. #10
    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 : 55
    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
    Billets dans le blog
    2
    Par défaut
    Bon déjà, j'ai fait une erreur en recopiant le bout de code depuis l'autre thread : au lieu de copie ma proposition, j'ai copié ton code que tu avais fait à partir de ma proposition, en modifiant des trucs...

    Donc la map c'est comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Map<String, JTextField> fieldMap=new HashMap<>();
    Si tu as une erreur sur :

    c'est que tu es sous java 5 ou java 6 : cette syntaxe est apparue sous java 7.
    A la place, en 5 ou 6, écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Map<String, JTextField> fieldMap=new HashMap<String, JTextField>();


    Parce qu'on veut stocker des JTextField en fonction de nom de champ (String)

    Ensuite, tu ne peux pas mettre le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fieldMap.put( FIELD_INITVAR_SMIN, SMin );
    en plein milieu de la classe. Il doit être dans une méthode (ou un constructeur). Ce que tu avais fait dans ta méthode SaisieHGPanel() et il était très bien à cet endroit.

    Pour getField, il y a une erreur aussi : j'ai dû reprendre le mauvais code sur l'autre thread.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public String getField(String id) {
         JTextField field = fieldMap.get(id);
         if ( field!=null ) {
    	  return field.getText();
         } else {
    	  throw new IllegalArgumentException();
         }
    }
    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.

  11. #11
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 138
    Par défaut
    Merci, tous les problèmes sont résolu.

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

Discussions similaires

  1. Garder les informations sur les Champs de saisie
    Par malikoo dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 20/07/2008, 14h00
  2. Réponses: 5
    Dernier message: 19/06/2008, 21h43
  3. les champs de saisie html
    Par mawulolo dans le forum Langage
    Réponses: 2
    Dernier message: 28/10/2007, 20h41
  4. Réponses: 15
    Dernier message: 24/05/2007, 12h02
  5. [FLASH MX2004] Personnaliser les champs de saisie?
    Par Rei Itchido dans le forum Flash
    Réponses: 5
    Dernier message: 21/03/2006, 17h45

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