JFormattedTextField and MaskFormatter
Hoping a Swing guru on here might shed a little light on a problem I have.
I've got little or no time to get a solution for this into a clients application and so far... well, I'm losing lots of hair - so any help on this would be gratefully appreciated!!!
Basically, all I need to do is permit the user to enter an amount of money into a text field. However, it needs to be formatted on the fly so that:
If they press 1, the output appears as 0.01
If they then press 2, the output appears as 0.12
If they then press 3, the output appears as 1.23
and so on.
The idea is that it automatically determines where the decimal point is - without the user having to enter it themselves.
The formatter has to permit only numeric characters and support the deletion of characters.
I've tried all sorts of solutions:
MaskFormatter - starts entering the characters from left to right - no good.
DefaultFormatterFactory - doesn't format the field until focus changes or enter pressed
KeyListener - can detect a new keypress but can't change the text from within the event without it appearing twice
I've even tried messing around with the Caret, but to no avail.
This should be a simple thing to do, but Swing is baffling me on this one