Hallo,
ich hänge momentan an einem kleinen Problem und finde einfach keine Lösung. In einer Datenbank gibt es ein Feld Anschaffungswert. In diesem Feld können Beträge eingegeben werden und diese werden danach, sollten es gültige Eingaben sein, direkt als Währungszahl mit dementsprechender Formatierung angezeigt. Das funktioniert soweit, solange ich das Währungszeichen mit angebe.
Mein Code, mit dem ich das Format auf das Textfeld anwende, sieht bisher so aus:
Nun wurde gefragt, ob es möglich wäre, die Eingabe auch ohne das Währungszeichen gültig zu machen. Bisher verhält sich das Programm so:
Im Feld soll quasi am Schluss der korrekt formatierte Wert ohne das Währungszeichen stehen.
ich hänge momentan an einem kleinen Problem und finde einfach keine Lösung. In einer Datenbank gibt es ein Feld Anschaffungswert. In diesem Feld können Beträge eingegeben werden und diese werden danach, sollten es gültige Eingaben sein, direkt als Währungszahl mit dementsprechender Formatierung angezeigt. Das funktioniert soweit, solange ich das Währungszeichen mit angebe.
Mein Code, mit dem ich das Format auf das Textfeld anwende, sieht bisher so aus:
Code:
// Initialize formats for formatted text fields
NumberFormat nf = NumberFormat.getCurrencyInstance();
NumberFormatter nff = new NumberFormatter(nf);
DefaultFormatterFactory currencyfactory = new DefaultFormatterFactory(nff);
tv_acquisitionvalue.setFormatterFactory(currencyfactory);
tv_acquisitionvalue.setFocusLostBehavior(JFormattedTextField.COMMIT_OR_REVERT);
Nun wurde gefragt, ob es möglich wäre, die Eingabe auch ohne das Währungszeichen gültig zu machen. Bisher verhält sich das Programm so:
- Im Feld steht der Wert 449,99 € (gültiger Wert)
- Ich möchte den Betrag korrigieren und trage 500 ein (ohne das €-Zeichen) und klicke auf ein anderes Feld/Button -> FocusLostBehavior sorgt dafür, dass bei ungültiger Eingabe der letzte gültige Wert wieder eingesetzt wird. Hätte ich 500 € eingetragen, würde das Programm es aktzeptieren und normal umwandeln.
Im Feld soll quasi am Schluss der korrekt formatierte Wert ohne das Währungszeichen stehen.