Salut à tout le monde.
Alors voilà, je cherche à calculer une remise en fonction du montant indiqué dans un JTextField. Au moment du scan du code barre, le prix unitaire s'affiche dans un premier JTextField, un deuxième affichant le montant total en fonction de la quantité produit. Un troisième JTextField optionnel, permet si l'on indique un montant de remise dedans, de l'appliquer sur le prix final.
Cela marche pour des remises à un chiffre comme 5%, mais si j'indique 50% ça ne fonctionne plus, car ça calcule d'abord 5% puis 50% soit 11,4 au lieu de 12 pour un prix de départ de 24 €.
C'est logique par rapport au listener utilisé, y'a t-il un listener plus adapté dans ce cas ? tout en m'évitant d'ajouter un bouton manuel de calcul
Merci !
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 JRemise.addKeyListener(new KeyListener() { public void keyTyped(KeyEvent e) {} public void keyPressed(KeyEvent e) {} public void keyReleased(KeyEvent e) { String text = JRemise.getText(); float T1 = Float.parseFloat(text); //Si la remise vaut 0 c'est qu'on doit garder le prix total non remisé if (T1 == 0) { JTottc.setText(Float.toString((float)prixtotalttc)); } else { //Si le JT de remise n'est pas vide ou diiférent de 0 alors on calcule la remise if(!text.isEmpty()&&T1 != 0) { String tString = JTottc.getText(); float ttx = Float.parseFloat(tString); float ttxr = ttx*(1-T1/100); //On applique le nouveau total remisé JTottc.setText(Float.toString((float)ttxr)); } } } });
Partager