Les champs calculés

Résolu
tanalook Messages postés 20 Date d'inscription vendredi 4 novembre 2011 Statut Membre Dernière intervention 18 décembre 2012 - 28 sept. 2011 à 11:55
tanalook Messages postés 20 Date d'inscription vendredi 4 novembre 2011 Statut Membre Dernière intervention 18 décembre 2012 - 28 sept. 2011 à 14:43
Bonjour,
Je voudrais faire la multiplication de deux JTextField et affichés le résultat sur le troisième
JTextfield
J'ai essayé avec ce code
zoneBas.add (new JLabel("prix unitaire"));
zoneBas.add(saisiepuCommande=new JTextField(15));
zoneBas.add (new JLabel("Quantité consommée"));
zoneBas.add(saisieQuantiteConsomme=new JTextField(15));
zoneBas.add (new JLabel("Montant consommé"));
zoneBas.add(saisieMontantConsomme=new JTextField(saisiepucommande
*saisieQuantitéCommande));

Mais ça ne marche pas
Merci et bonne journée à tous

6 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 366
28 sept. 2011 à 14:38
Oui, c'est normal et pour plusieurs raisons, l'opérateur * n'est pas définit pour l'objet JTextField, le contenu du JTextField n'est pas un numérique ("4" n'est pas un numérique).

Pour t'en sortir, je te conseil de créer un bouton qui lors du click calcul le résultat de l'opération sur les deux JTextField et affiche dans le troisième.

Pour récupérer le contenu d'un JTextField, utilises la méthode getText() (textField.getText())

Cette méthode retourne un String qu'il te faudra convertir en double ou en int, utilises alors Integer.parseInt ou Double.parseDouble

Et enfin, pour enyoyer le résulat : saisieMontantConsomme.setText("ton resultat")
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 366
28 sept. 2011 à 13:01
Bonjour,

Il est impossible que celà fonctionne, qu'attends tu ce cette ligne :
zoneBas.add(saisieQuantiteConsomme=new JTextField(15));
?

Dans un JPanel tu peux ajouter des composants Swing, et pas affecter des variables. Essayes de remplacer par ceci :
saisieQuantiteConsomme=new JTextField("15");
zoneBas.add(saisieQuantiteConsomme);


Fais en de même pour tous tes champs textes et ca marchera déjà mieux.
0
tanalook Messages postés 20 Date d'inscription vendredi 4 novembre 2011 Statut Membre Dernière intervention 18 décembre 2012
28 sept. 2011 à 13:17
Bonjour,

zoneBas.add(saisieQuantiteConsomme=new JTextField(15));
c'est pour ajouter à la zoneBas unJTextField nommé saisieQuantiteConsomme et les 15 c'est pour definir la longueur du JTextField
En fait j'ai diviser ma fenetre en trois JPanel zoneHaut,zoneBas et zoneMilieu
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 366
28 sept. 2011 à 13:37
Alors remplace le par ceci :
saisieQuantiteConsomme=new JTextField(15);
zoneBas.add(saisieQuantiteConsomme);


Tu dis que ca ne marche pas mais qu'est ce qui ne marche pas au juste ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tanalook Messages postés 20 Date d'inscription vendredi 4 novembre 2011 Statut Membre Dernière intervention 18 décembre 2012
28 sept. 2011 à 13:46
Bonjour,
il ne me multiplie pas les deux JTextfield et m’affiche le résultat sur le troisième JTextfield
0
tanalook Messages postés 20 Date d'inscription vendredi 4 novembre 2011 Statut Membre Dernière intervention 18 décembre 2012
28 sept. 2011 à 14:43
Merci beaucoup et bonne journée
0