Les champs calculés

[Résolu]
Signaler
Messages postés
20
Date d'inscription
vendredi 4 novembre 2011
Statut
Membre
Dernière intervention
18 décembre 2012
-
Messages postés
20
Date d'inscription
vendredi 4 novembre 2011
Statut
Membre
Dernière intervention
18 décembre 2012
-
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

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
359
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")
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
359
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.
Messages postés
20
Date d'inscription
vendredi 4 novembre 2011
Statut
Membre
Dernière intervention
18 décembre 2012

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
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
359
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 ?
Messages postés
20
Date d'inscription
vendredi 4 novembre 2011
Statut
Membre
Dernière intervention
18 décembre 2012

Bonjour,
il ne me multiplie pas les deux JTextfield et m’affiche le résultat sur le troisième JTextfield
Messages postés
20
Date d'inscription
vendredi 4 novembre 2011
Statut
Membre
Dernière intervention
18 décembre 2012

Merci beaucoup et bonne journée