The DefaultFormatter Class
DefaultFormatter is a concrete implementation of AbstractFormatter that provides enough
functionality for many purposes. It can be used for classes with a
constructor that takes a single String. To support other classes, you may have
to override DefaultFormatter’s
stringToValue( ) method and its
valueToString( ) method if the
class’s toString( ) method is not
adequate.
DefaultFormatter maintains the
field’s editValid property, checking
to see if the current edit is valid after every user keystroke and
calling setEditValid( ) as
appropriate.
Properties
Table 20-3 shows
the properties defined by DefaultFormatter.
Table 20-3. DefaultFormatter properties
Property | Data type | get | is | set | Default value |
|---|---|---|---|---|---|
allowsInvalid | boolean | · | · | true | |
commitsOnValidEdit | boolean | · | · | false | |
overwriteMode | boolean | · | · | true | |
valueClass | Class | · | · | null |
The allowsInvalid property controls whether the field’s content may be
temporarily invalid during an edit. Consider an integer field with a
current value of 25 that the user
wants to change to 19. The user may
decide to do this by pressing the Backspace key twice, then the 1 key
and the 9 key. After the first backspace, the content of the field is
2. After the second backspace, the
content of the field is the empty string, but if allowsInvalid were false, this would not be allowed (since the
empty string is not a valid integer), and the field would refuse to
allow the 2 to be deleted. Setting
this property to false can be effective in certain cases but should be done ...