franchement, j'arrive pas à trouver une solution.![]()
franchement, j'arrive pas à trouver une solution.![]()
Voir Développons en Java, par JM Doudoux, chapître 1 à 4, pour commencer à avoir des bases. Le 5 et le 7 aussi ensuite.
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.
Bonsoir
j'ai resté tout la journée de lire les 3 premier chapitre et j'ai vu des chose intéressant mais pour mon problème, je n'ai trouvé, meme je n'ai rien trouvé de map même un Tutorial![]()
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.
je crois comme ç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
23
24
25
26
27
28 public class SousFenetre extends JPanel { private static final int MARGIN = 10; private static final long serialVersionUID = 1L; private Map<String, JTextField> fieldMap = new HashMap<String, JTextField>(); public final static String FIELD_INITVAR_SMIN = "initvar.SMin"; public void setField(String id, String valeur) { JTextField field = fieldMap.get(id); if ( field!=null ) field.setText(valeur); } private JPanel creerInitVarPanel() { 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); setField( 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; }
Voilà, bien, tu progresses tout seul
Sauf que :
Ce n'est pas une chaîne de caractères qu'il faut mettre en valeur, c'est la variable field1 de type JTextField :
Code : Sélectionner tout - Visualiser dans une fenêtre à part setField( FIELD_INITVAR_SMIN, "field1" ) ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part setField( FIELD_INITVAR_SMIN, field1) ;
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.
j'ai écrit "field1" parce que tu m'as dit ça
bon quand j'ai modifier par field1, le programme n'as pas accepter,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 et maintenant tu peux l'appeler comme ça : setField( FIELD_INITVAR_SMIN, "xxx" ) ;
et quand je modifier ce methode
il n'as pas encore accepter
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5public void setField(String id, JTextField valeur) { JTextField field = fieldMap.get(id); if ( field!=null ) field.setText(valeur); }
Ah oui au temps pour moi, j'avais pas lu la ligne complète
Mais c'est parce que cette ligne de code n'a rien à faire là ! A la place, tu devrais avoir (ce que j'ai cru que tu avais mis là comme ligne vu que c'est ce que j'ai mis dans mon exemple !) :
L'affectation des valeurs aux champs devrait être fait ailleurs qu'à la construction de la GUI, ce qui permet d'avoir plus de souplesse : pouvoir annuler la saisie par exemple, faire un remise à zéro de tous les champs, etc...
Code : Sélectionner tout - Visualiser dans une fenêtre à part fieldMap.put( FIELD_INITVAR_SMIN, field1 );
Je t'ai mis le processus de création dans un autre post : on créé la fenêtre et on appelle une méthode qui affecte les valeurs dans les champs (sous entendu : 2 étapes).
Bon, on pourrait avoir l'initialisation à cet endroit, si on s'en fout de la souplesse : mais au moins mettre le champ dans la map.
Sinon, tu te passes de map, tu passes tous tes champs en variables de classe, pour écrire les valeurs tu fais field1.setText("field1") en mettant une valeur en dur comme tu l'as fait (une sorte de prompt ?) et pour lire les valeurs saisies, tu tapes autant de fieldXXX.getText() qu'il y a de champs (10, 30, 50 ?), si ça te chante.
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.
j'ai une question
si possible de modifier
par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 setField( FIELD_INITVAR_SMIN, SMin ) ;
mon deuxieme question, c'est j'ai utilisé la méthode 2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 fieldMap.put( FIELD_INITVAR_SMIN, SMin );
est ce que je dois copie ce code dans ma classe d'origine fenetre ??
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 public class Validation { private Map<String, JTextField> fieldMap = new HashMap<String, JTextField>(); public final static String FIELD_INITVAR_SMIN = "initvar.SMin"; private int SMin; private int SMax; private int SInit; 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(); } } }
sachant que XXXXX est SMin (j'ai modifier le nom field1 par SMin) ????
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 fenetre.setField(SousFenetre.XXXXX, valeur pour le champ XXXXX); fenetre.setField(SousFenetre.YYYYY, valeur pour le champ YYYYY);
la première ligne est un appel à la méthode qui met une valeur dans le champ texte correspondant à la constante, donc le second paramètre est une String
la seconde ligne est l'enregistrement de l'association entre la constante et l'instance de champ, pour pouvoir appeler la première ligne : le second paramètre est du type JTextField !
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.
fon tous simplement je peux utilisé
j'ai une question, j'ai ajouter une bouton de calculer
Code : Sélectionner tout - Visualiser dans une fenêtre à part fieldMap.put( FIELD_INITVAR_SMIN, SMin );
sachant que j'ai modifier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 JButton bouton6 = new JButton("Calculer"); panel.add(bouton6);
j'ai reçus un error
Code : Sélectionner tout - Visualiser dans une fenêtre à part SpringUtilities.makeCompactGrid(panel, 6, 3, 20, 5, 10, 13);![]()
sachant que j'ai obtenu cette résultat :
pour le champ de saisie de demande de mois, cout stockage est un ensemble des valeurs de tableau, comment le champ de saisie pour savoir les valeurs qu'on doit le saisie dans un tel case ?????![]()
Partager