V
- The type of the valuepublic class TextFormatter<V> extends Object
TextInputControl
text by using two distinct mechanisms:
getFilter()
) that can intercept and modify user input. This helps to keep the text
in the desired format. A default text supplier can be used to provide the intial text.getValueConverter()
) and value (valueProperty()
)
can be used to provide special format that represents a value of type V
.
If the control is editable and the text is changed by the user, the value is then updated to correspond to the text.
It's possible to have a formatter with just filter or value converter. If value converter is not provided however, setting a value will
result in an IllegalStateException
and the value is always null.
Since Formatter
contains a value which represents the state of the TextInputControl
to which it is currently assigned, a single
Formatter
instance can be used only in one TextInputControl
at a time.
Type | Property and Description |
---|---|
ObjectProperty<V> |
value
The current value for this formatter.
|
Modifier and Type | Class and Description |
---|---|
static class |
TextFormatter.Change
Contains the state representing a change in the content or selection for a
TextInputControl.
|
Modifier and Type | Field and Description |
---|---|
static StringConverter<String> |
IDENTITY_STRING_CONVERTER
This string converter converts the text to the same String value.
|
Constructor and Description |
---|
TextFormatter(StringConverter<V> valueConverter)
Creates a new Formatter with the provided value converter.
|
TextFormatter(StringConverter<V> valueConverter,
V defaultValue)
Creates a new Formatter with the provided value converter and default value.
|
TextFormatter(StringConverter<V> valueConverter,
V defaultValue,
UnaryOperator<TextFormatter.Change> filter)
Creates a new Formatter with the provided filter, value converter and default value.
|
TextFormatter(UnaryOperator<TextFormatter.Change> filter)
Creates a new Formatter with the provided filter.
|
Modifier and Type | Method and Description |
---|---|
UnaryOperator<TextFormatter.Change> |
getFilter()
Filter allows user to intercept and modify any change done to the text content.
|
V |
getValue()
Gets the value of the property value.
|
StringConverter<V> |
getValueConverter()
The converter between the values and text.
|
void |
setValue(V value)
Sets the value of the property value.
|
ObjectProperty<V> |
valueProperty()
The current value for this formatter.
|
public final ObjectProperty<V> valueProperty
TextInputControl
and has agetValue()
,
setValue(V)
public static final StringConverter<String> IDENTITY_STRING_CONVERTER
public TextFormatter(UnaryOperator<TextFormatter.Change> filter)
filter
- The filter to use in this formatter or nullpublic TextFormatter(StringConverter<V> valueConverter, V defaultValue, UnaryOperator<TextFormatter.Change> filter)
valueConverter
- The value converter to use in this formatter or null.defaultValue
- the default value.filter
- The filter to use in this formatter or nullpublic TextFormatter(StringConverter<V> valueConverter, V defaultValue)
valueConverter
- The value converter to use in this formatter. This must not be null.defaultValue
- the default valuepublic TextFormatter(StringConverter<V> valueConverter)
valueConverter
- The value converter to use in this formatter. This must not be null.public final StringConverter<V> getValueConverter()
TextInputControl.textProperty()
}
and valueProperty()
}. The value is updated when the control loses it's focus or it is commited (TextField only).
Setting the value will update the text of the control, usin the provided converter.
If it's impossible to convert text to value, an exception should be thrown.TextInputControl.commitValue()
,
TextInputControl.cancelEdit()
public final UnaryOperator<TextFormatter.Change> getFilter()
The filter itself is an UnaryOperator
that accepts TextFormatter.Change
object.
It should return a TextFormatter.Change
object that contains the actual (filtered)
change. Returning null rejects the change.
public final ObjectProperty<V> valueProperty()
TextInputControl
and has agetValue()
,
setValue(V)
public final void setValue(V value)
TextInputControl
and has apublic final V getValue()
TextInputControl
and has aCopyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.