public class TextComponentMatcherEditor<E> extends TextMatcherEditor<E>
Document
. This TextMatcherEditor
is directly
coupled with a Document and fires MatcherEditor changes in response to
Document changes. This matcher is fully concrete and is expected to be used
by Swing applications.
The TextComponentMatcherEditor
constructors require that either a
Document
or a JTextComponent
(from which a Document
is extracted) be specified.
The MatcherEditor registers itself as a DocumentListener
on the
given Document, or ActionListener
on the JTextComponent
for
non-live filtering. If a JTextComponent
is given on construction, it
is also watched for changes of its Document and the Document used by this
MatcherEditor is updated to reflect the latest Document behind the text
component.
If this MatcherEditor must be garbage collected before the underlying
Document, or JTextComponent, the listeners can be unregistered by calling
dispose()
.
MatcherEditor.Event<E>, MatcherEditor.Listener<E>
CONTAINS, EXACT, IDENTICAL_STRATEGY, NORMALIZED_STRATEGY, REGULAR_EXPRESSION, STARTS_WITH
Constructor and Description |
---|
TextComponentMatcherEditor(Document document,
TextFilterator<? super E> textFilterator)
Creates a TextMatcherEditor bound to the given
document with the given
textFilterator . |
TextComponentMatcherEditor(JTextComponent textComponent,
TextFilterator<? super E> textFilterator,
boolean live)
Creates a TextMatcherEditor bound to the
Document backing the given
textComponent with the given textFilterator . |
TextComponentMatcherEditor(JTextComponent textComponent,
TextFilterator<E> textFilterator)
Creates a TextMatcherEditor bound to the
Document backing the given
textComponent with the given textFilterator . |
Modifier and Type | Method and Description |
---|---|
void |
dispose()
A cleanup method which stops this MatcherEditor from listening to
changes on the underlying
Document , thus freeing the
MatcherEditor or Document to be garbage collected. |
boolean |
isLive()
Whether filtering occurs by the keystroke or not.
|
void |
setLive(boolean live)
Toggle between filtering by the keystroke and not.
|
getCurrentTextMatcher, getFilterator, getMode, getStrategy, setFilterator, setFilterText, setMode, setStrategy, setTextMatcher
fireChanged, fireConstrained, fireMatchAll, fireMatchNone, fireRelaxed, getMatcher, isCurrentlyMatchingAll, isCurrentlyMatchingNone
addMatcherEditorListener, createChangedEvent, createConstrainedEvent, createMatchAllEvent, createMatchNoneEvent, createRelaxedEvent, fireChangedMatcher, removeMatcherEditorListener
public TextComponentMatcherEditor(JTextComponent textComponent, TextFilterator<E> textFilterator)
Document
backing the given
textComponent
with the given textFilterator
.textComponent
- the text component backed by the Document
that is the source of
text filter valuestextFilterator
- an object capable of producing Strings from the objects being filtered.
If textFilterator
is null
then all filtered objects are
expected to implement TextFilterable
.public TextComponentMatcherEditor(JTextComponent textComponent, TextFilterator<? super E> textFilterator, boolean live)
Document
backing the given
textComponent
with the given textFilterator
.textComponent
- the text component backed by the Document
that is the source of
text filter valuestextFilterator
- an object capable of producing Strings from the objects being filtered.
If textFilterator
is null
then all filtered objects are
expected to implement TextFilterable
.live
- true
to filter by the keystroke or false
to filter only
when Enter
is pressed within the
JTextComponent
. Note that non-live filtering is only supported if
textComponent
is a JTextField
.IllegalArgumentException
- if the textComponent
is not a JTextField
and non-live filtering is specified.public TextComponentMatcherEditor(Document document, TextFilterator<? super E> textFilterator)
document
with the given
textFilterator
.document
- the Document
that is the source of text filter valuestextFilterator
- an object capable of producing Strings from the objects being filtered.
If textFilterator
is null
then all filtered objects are
expected to implement TextFilterable
.public boolean isLive()
public void setLive(boolean live)
live
- true
to filter by the keystroke or false
to filter only when Enter
is pressed
within the JTextComponent
. Note that non-live filtering is only
supported if textComponent
is a JTextField
.public void dispose()
Document
, thus freeing the
MatcherEditor or Document to be garbage collected.Copyright © 2024 levigo holding gmbh. All rights reserved.