Ich habe 3 TextFields. Einer ist ein totalTF, der andere ist ein TenderedTF und der letzte ist ein ChangeTF. Ich frage mich, wie man den Gesamtpreis im totalTF nehmen kann und dem Benutzer erlaubt, den Betrag, den er dem Kassierer gibt, in das tenderedTF einzugeben, dann sollte er die Änderung ausrechnen, sobald der Bezahlknopf ausgewählt und in der Wechselgeldanzeige angezeigt wird . Hier ist mein Code soweit. Ich versuche, die Mathematik zu tun, dann setze die changeTF. Jede Hilfe wäre sehr dankbar, danke.Berechnen der Änderung von JTextField
JButton payButton = new JButton("Pay");
payButton.setBounds(970, 569, 209, 51);
contentPane.add(payButton);
// Calculate Change
changeTF.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == payButton)
{
double change = Double.valueOf(totalTF.getText()) - Double.valueOf(tenderedTF.getText());
changeTF.setText(String.valueOf(change));
}
}
});
tenderedTF.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == payButton)
{
double change = Double.valueOf(totalTF.getText()) - Double.valueOf(tenderedTF.getText());
changeTF.setText(String.valueOf(change));
}
}
});
'changeTF' und' terderedTF' werden niemals Aktionsereignisse empfangen, die von 'payButton' ausgelöst werden, sie erhalten nur die von sich selbst ausgelösten Aktionsereignisse, so wie Ihr Code ist. Versuchen Sie, der Schaltfläche einen 'ActionListener' hinzuzufügen. – Berger
Sie möchten, dass die Berechnung ausgeführt wird, wenn auf die Schaltfläche "Bezahlen" geklickt wird, richtig? Dann brauchen Sie einen Aktionslistener auf der Schaltfläche, nicht auf den Feldern. – lucasvw
Brilliant !! es funktioniert nur, es stellt es nicht in der changeTF auf die richtigen Dezimalstellen ein. Wie soll ich das überwinden? Danke – Movillian