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 ...

Get Java Swing, 2nd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.