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(javax.swing.text.Document document,
TextFilterator<? super E> textFilterator)
Creates a TextMatcherEditor bound to the given
document
with the given textFilterator . |
TextComponentMatcherEditor(javax.swing.text.JTextComponent textComponent,
TextFilterator<? super E> textFilterator)
Creates a TextMatcherEditor bound to the
Document backing the
given textComponent with the given
textFilterator . |
TextComponentMatcherEditor(javax.swing.text.JTextComponent textComponent,
TextFilterator<? super E> textFilterator,
boolean live)
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(javax.swing.text.JTextComponent textComponent, TextFilterator<? super 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(javax.swing.text.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
.java.lang.IllegalArgumentException
- if the textComponent
is not a JTextField
and non-live filtering is specified.public TextComponentMatcherEditor(javax.swing.text.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.Glazed Lists, Copyright © 2003 publicobject.com, O'Dell Engineering.
Documentation build by mockbuild at 2018-07-13 9:19