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 :

Créer une fenêtre


Sujet :

Java

  1. #21
    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 : 56
    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
    ok je vais voir, j'ai une question :

    comment je veux associer le SMin avec Le vrais SMin de mon programme principale ?????
    Il va falloir que tu créés tes variables de champs (JTextField) en variable de classe. Ensuite, tu n'auras qu'a faire des setters pour les modifier, et en récupérer les valeurs saisies. Simplement.

    Citation Envoyé par nir63 Voir le message
    c'est possible de faire un classe SaisieInitVarPanel qui herite de classe origine ????
    Si c'est pour faire ce que tu me demandes ci-avant, pas la peine. Mais, sinon, oui, on peut le faire.
    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.

  2. #22
    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 tes réponse

    pour ce code,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SpringUtilities.makeCompactGrid(panel, 5, 3, 5, 5, 5, 5);
    j'ai déjà copie le code dans le lien, quand j'ai dis ça marche pas bien, j'ai voulu dire qu'il m'affiche tous dans une seule ligne.

  3. #23
    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 : 56
    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
    En partant de ton 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
    JPanel panel = new JPanel();
    panel.setBackground(Color.white);
     
    SpringLayout layout = new SpringLayout();
    panel.setLayout(layout);
     
    JLabel SMinLabel = new JLabel("SMin :");
    panel.add(SMinLabel); 
     
     
     
    JTextField field1 = new JTextField();
    field1.setColumns(3);
    panel.add(field1);
     
    JButton bouton = new JButton("Validée");
    panel.add(bouton);
     
    JLabel SMaxLabel = new JLabel("SMax :");
    panel.add(SMaxLabel );  
     
    JTextField field2 = new JTextField();
    field2.setColumns(3);
    panel.add(field2);
    JButton bouton2 = new JButton("Validée");
    panel.add(bouton2);
     
    SpringUtilities.makeCompactGrid(panel,
                   2, 3, //lignes, colonnes
                   5, 5, //margeX, margeY
                   5, 5);//spaceX, spaceY
     
    return panel;
    Moi, j'obtiens ça :


    Tu dois avoir quelque chose de différent... par exemple, c'est quoi ces 3 et 5 que tu as mis comme paramètres lignes et colonnes ?
    Images attachées Images attachées  
    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.

  4. #24
    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
    5 ligne et 3 colonne

    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
    private JPanel creerInitVarPanel() {
    					JPanel panel = new JPanel();
    					panel.setBackground(Color.white);
    					SpringLayout layout = new SpringLayout();
    					//panel.setLayout(new GridLayout(5,1));
     
    					JLabel SMinLabel = new JLabel("SMin  :");
    				    panel.add(SMinLabel); // tu avais oublié cette ligne
    				    JTextField field1 = new JTextField();
    				    field1.setColumns(3);
    				    panel.add(field1);
    				    JButton bouton = new JButton("Validée");
    					panel.add(bouton);
     
    				    JLabel SMaxLabel = new JLabel("SMax :");
    				    panel.add(SMaxLabel ); // tu avais oublié cette ligne
    				    JTextField field2 = new JTextField();
    				    field2.setColumns(3);
    				    panel.add(field2);
    				    JButton bouton2 = new JButton("Validée");
    					panel.add(bouton2);
     
    					JLabel SInitLabel = new JLabel("SInit   :");
    				    panel.add(SInitLabel ); 
    				    JTextField field3 = new JTextField();
    				    field3.setColumns(3);
    				    panel.add(field3);
    				    JButton bouton3 = new JButton("Validée");
    					panel.add(bouton3);
     
    					JLabel XMinLabel = new JLabel("XMin  :");
    				    panel.add(XMinLabel ); 
    				    JTextField field4 = new JTextField();
    				    field4.setColumns(3);
    				    panel.add(field4);
    				    JButton bouton4 = new JButton("Validée");
    					panel.add(bouton4);
     
    					JLabel XMaxLabel = new JLabel("XMax :");
    				    panel.add(XMaxLabel ); 
    				    JTextField field5 = new JTextField();
    				    field5.setColumns(3);
    				    panel.add(field5);
    				    JButton bouton5 = new JButton("Validée");
    					panel.add(bouton5);
     
    					SpringUtilities.makeCompactGrid(panel, 5, 3, 5, 5, 5, 5);
    					return panel;
    				}

  5. #25
    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 : 56
    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
    Oui, mais tu as commenté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //panel.setLayout(new GridLayout(5,1));
    sans ajouter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    panel.setLayout(layout);
    donc le SpringLayout ne s'applique pas au panel. Le LayoutManager par défaut d'un JPanel est un FlowLayout, donc tu as un arrangement fait par un FlowLayout)
    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.

  6. #26
    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 déja quitté cette panel.setLayout(new GridLayout(5,1));


    et il me reste le meme probleme, j'ai pas à savoir tous cette histoire de Layourt meme, j'ai rester 2 heure de recherche et j'arrive pas à comprendre

  7. #27
    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 : 56
    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
    Pour en revenir à ton post d'avant, sur l'initialisation des fields comme je vois qu'ils se multiplient de post en post, je te conseille de passer par une map, qui te simplifiera la manipulation.

    Dans la classe, tu places une variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Map<String, JTextField> fieldMap = new HashMap<>();
    Quand tu créés un champ, tu lui attribue un identifiant unique (le mieux est de faire des constants, ou éventuellement au lieu d'utiliser des String tu pourrais utiliser une enum).

    Par exemple, pour le champ Smin, on va créer une constante comme suit (dans la classe), par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public final static String FIELD_INITVAR_SMIN="initvar.smin";
    Ensuite, quand tu créés ton champs :

    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 JPanel creerInitVarPanel() {
    					JPanel panel = new JPanel();
    					panel.setBackground(Color.white);
    					SpringLayout layout = new SpringLayout();
    					//panel.setLayout(new GridLayout(5,1));
     
    					JLabel SMinLabel = new JLabel("SMin  :");
    				    panel.add(SMinLabel); // tu avais oublié cette ligne
    				    JTextField field1 = new JTextField();
    				    field1.setColumns(3);
    
    fieldMap.put( FIELD_INITVAR_SMIN, field1 ); 
    
    				    panel.add(field1);
    				    JButton bouton = new JButton("Validée");
    					panel.add(bouton);
    
    ...
    tu ajoutes à ta classe une méthode :

    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);
    }
    et maintenant tu peux l'appeler comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setField( FIELD_INITVAR_SMIN, "xxx" ) ;
    Et tu fais la même chose avec tous tes champs.
    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.

  8. #28
    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 : 56
    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 déja quitté cette panel.setLayout(new GridLayout(5,1));


    et il me reste le meme probleme, j'ai pas à savoir tous cette histoire de Layourt meme, j'ai rester 2 heure de recherche et j'arrive pas à comprendre
    Je t'ai dit que tu avais commenté la ligne panel.setLayout(new GridLayout(5,1));

    mais que tu n'avais pas mis le SpringLayout dans le panel !

    Tu créé un SpringLayout par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SpringLayout layout = new SpringLayout();
    et après tu l'appliques au panel,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    panel.setLayout(layout);
    sinon le panel ne peut pas savoir que tu veux qu'il utilise ce SpringLayout
    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.

  9. #29
    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
    baah, j'ai résolu le probleme mais encore


  10. #30
    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 : 56
    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
    Pareil, tu as du changer quelque chose dans le layout du panel haut gauche :

    Tu devrais avoir ça :
    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
    private JPanel creerPanelHautGauche() {
    		JPanel panel = creerPanelAvecTitre("Initialisation des variables :");
    
                    panel.setBackground(Color.white); // ça tu l'ajoutes (je l'avais pas mis, je ne pouvais pas savoir au moment ou j'ai posté le code que tu le voulais en blanc)
    
    		panel.add(creerInitVarPanel(), BorderLayout.CENTER);
    		return panel;
    	}
     
    	private JPanel creerInitVarPanel() {
    
             	JPanel panel = new JPanel();
    		panel.setBackground(Color.white);
    		SpringLayout layout = new SpringLayout();
    		//panel.setLayout(new GridLayout(5,1));
                    panel.setLayout(layout);
    
    
                    ...
    
    
    }
    Avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    private JPanel creerPanelAvecTitre(String titre) {
    		JPanel panel = new JPanel();
    		panel.setBorder(BorderFactory.createLineBorder(Color.BLACK)); // un cadre autour
     
    		panel.setLayout(new BorderLayout(MARGIN, MARGIN)); 
     
                    // création du titre du panel
    		JLabel titreLabel = new JLabel(titre);
    		titreLabel.setBorder(BorderFactory.createEmptyBorder(MARGIN, MARGIN, MARGIN, MARGIN));
    		panel.add(titreLabel, BorderLayout.NORTH); // texte en haut du panel
    		return panel;
    	}
    Si tu as changé quelque chose aux layouts, c'est normal que ça ne donne plus la même chose.
    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. #31
    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
    alors

    pour creerPanelHautGauche() , il est le meme et le meme couleur

    Pour creerPanelAvecTitre(String titre)

    quand j'ajoute ça === panel.setLayout(new BorderLayout(MARGIN, MARGIN));

    je trouve cette résultat



    et moi je casse ma tete pour obtenir cette résultat


  12. #32
    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 ok c bien j'ai trouvé la solution


  13. #33
    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
    tu m'as déjà dit que

    Il va falloir que tu créés tes variables de champs (JTextField) en variable de classe. Ensuite, tu n'auras qu'a faire des setters pour les modifier, et en récupérer les valeurs saisies. Simplement.

    mais je ne sais pas comment

  14. #34
    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 : 56
    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
    Dans le post 22, je te donne une solution qui t'évitera de créer des dizaines de variables de classe, et qui sera plus simple pour toi à manipuler.

    Une variable de classe, ou membre, c'est une variable qui est déclarée dans la classe, comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class ClasseTruc {
     
        private int uneVariableDeClasse;
     
    }
    Donc, tu places dans la classe la variable fieldMap telle que définie au post 22, ainsi que la constante FIELD_INITVAR_SMIN.

    Tu modifies les méthodes comme indiqué.

    Tu ajoutes le setter setField().

    Pour un getter, pour récupérer la valeur saisie dans un champs, c'est presque pareil :

    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.setText(valeur);
          } else {
             throw new IllegalArgumentException();
          }
    }
    Et tu pourras l'appeler comme ça, pour un appel dans la classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String textSaisiDansSmin = getField(FIELD_INITVAR_SMIN);
    En dehors, il faudra bien sûr préfixer getField, et la constante.

    Il faut bien sûr faire ça pour l'ensemble des champs (avec une constante de valeur différente pour chaque champ).
    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.

  15. #35
    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
    merciii pour ta réponse

    hier j'étais occupé et j'étais pas capable de voir tous ça

    voila mon classe
    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
     
    public class SousFenetre extends JPanel {
    			 	private static final int MARGIN = 10;
    				private static final long serialVersionUID = 1L;
    				private Map<String, JTextField> fieldMap = new HashMap();//<>
    				public final static String FIELD_INITVAR_SMIN = "initvar.SMin";
     
     
     
     
     
     
    				private JPanel creerInitVarPanel() {
    					JPanel panel = new JPanel();
    					panel.setBackground(Color.white);
     
    					SpringLayout layout = new SpringLayout();
    					panel.setLayout(layout);
    					//panel.setLayout(new GridLayout(5,1));
     
    					JLabel SMinLabel = new JLabel("SMin  :");
    					panel.add(SMinLabel); 
    					JTextField field1 = new JTextField();
    					field1.setColumns(3);
    										fieldMap.put( FIELD_INITVAR_SMIN, field1 ); 
     
    					panel.add(field1);
    					JButton bouton = new JButton("Validée");
    					panel.add(bouton);
     
    					SpringUtilities.makeCompactGrid(panel, 1, 3, 20, 5, 10, 13);
    					return panel;
    				}
    et le deuxieme

    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
     
    import javax.swing.JTextField;
     
     
     
     
     
    		public class Validation {
    			private int SMin;
    			private int fieldMap;
     
     
    			public String getField(String id) {
    			      JTextField field = fieldMap.get(id);
    			      if ( field!=null ) {
    			         return field.setText(SMin);
    			      } else {
    			         throw new IllegalArgumentException();
    			      }
    			}
     
    		}
    est ce que sa marche de cette façons parce j'ai jamais fais quelque chose comme ça !!!

  16. #36
    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 : 56
    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
    La map peut être dans une autre classe que celle ou tes fields sont construits, mais cette classe doit alors être accessible depuis la classe ou les fields sont construits : autant la mettre alors dans celle-ci (ta classe SousFenetre). Ensuite, tu dois avoir quelque par un code qui créé et affiche ta fenêtre, du genre :

    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();
     
    // et la tu fais le remplissage 
     
    fenetre.setField(SousFenetre.XXXXX, valeur pour le champ XXXXX);
    fenetre.setField(SousFenetre.YYYYY, valeur pour le champ YYYYY);
    ....
     
     
    fenetre.setVisible(true);
     
    // et la tu récupères (éventuellement) des valeurs ...
     
    String valeurSaisiePourXXXXX = fenetre.getField(SousFenetre.XXXXX);
    On est là un peu au niveau des mécanismes de base de java : les classes, les variables, les liens entre tout ç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.

  17. #37
    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
    pour la classe public class Validation est vrais parce que je trouve des errors

  18. #38
    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
    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    fenetre.setField(SousFenetre.SMin, valeur pour le champ SMin);

  19. #39
    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 : 56
    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
    Non, mais, faut pas faire un copier/coller direct sans regarde un peu : il faut lire et remplacer par tes variables/valeur/constantes.

    En lisant ce que j'ai posté, tu devrais au moins avoir ce genre de réflexes...

    C'était un exemple de principe ! Je ne vais pas écrire ton code complet que tu n'auras qu'a juste copier/coller tel quel
    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.

  20. #40
    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 :
    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
    public class Fenetre extends JFrame {
    			public Fenetre(){
     
    				this.setTitle("Application de Programmation Dynamique : "); 
    				this.setSize(800, 600);
    				this.setResizable(false); 
    				this.setLocationRelativeTo(null);   
    			this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    				this.setContentPane(new SousFenetre());
    				this.setField(SousFenetre.SMin, field1 pour le champ SMin);
     
    			    MenuFenetre mf = new MenuFenetre();
    			    setMenuBar(mf);
     
    				this.setVisible(true);
    				String field1SaisiePourSMin = fenetre.getField(SousFenetre.SMin);
     
    			}
    		}
    Pour les variables/valeur/constantes. C''est SMin/field1/SMin.

Discussions similaires

  1. Créer une fenêtre sans bords
    Par N3odyme dans le forum C++
    Réponses: 2
    Dernier message: 06/07/2006, 00h27
  2. [C# 2.0] Créer une fenêtre non redimensionnable
    Par sqlnoob dans le forum Windows Forms
    Réponses: 4
    Dernier message: 26/06/2006, 11h22
  3. Réponses: 2
    Dernier message: 08/06/2006, 15h49
  4. Créer une fenêtre
    Par RaygKross dans le forum Qt
    Réponses: 12
    Dernier message: 08/02/2006, 09h34
  5. Créer une fenêtre flottante qui ne peut avoir le focus
    Par BestofMac dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 10h46

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