|
TrueZIP Swing 7.0 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectde.schlichtherle.truezip.swing.AbstractComboBoxBrowser
@DefaultAnnotation(value=edu.umd.cs.findbugs.annotations.NonNull.class) public abstract class AbstractComboBoxBrowser
An observer for a JComboBox which provides auto completion
for the editable text in the drop down list in order to provide quick
browsing capabilities for the user.
Subclasses need to implement the update(java.lang.String) method in order to update
the combo box model with the actual auto completion data.
This class is designed to be minimal intrusive: It works with any subclass
of JComboBox and doesn't require a special
ComboBoxModel, although its specific behaviour will only show
if the JComboBox is editable and uses an
instance of a MutableComboBoxModel (which, besides the
editable property being set to true, is the
default for a plain JComboBox).
| Nested Class Summary | |
|---|---|
private class |
AbstractComboBoxBrowser.DecoratingComboBoxEditor
This proxy controls access to the real ComboBoxEditor
installed by the client application or the pluggable look and feel. |
private class |
AbstractComboBoxBrowser.Listener
|
| Field Summary | |
|---|---|
private JComboBox |
comboBox
|
private AbstractComboBoxBrowser.Listener |
listener
|
private boolean |
recursion
Used to inhibit mutual recursive event firing. |
private static long |
serialVersionUID
|
| Constructor Summary | |
|---|---|
protected |
AbstractComboBoxBrowser()
Creates a new combo box auto completion browser. |
protected |
AbstractComboBoxBrowser(JComboBox comboBox)
Creates a new combo box auto completion browser. |
| Method Summary | |
|---|---|
private void |
changeComboBox(JComboBox oldCB,
JComboBox newCB,
boolean update)
|
private void |
changeDocument(Document oldDoc,
Document newDoc,
boolean update)
|
private void |
changeEditor(ComboBoxEditor oldCBE,
ComboBoxEditor newCBE,
boolean update)
|
private void |
changeText(JTextComponent oldTC,
JTextComponent newTC,
boolean update)
|
private void |
documentUpdated()
|
JComboBox |
getComboBox()
Returns the combo box which this object is auto completing. |
private boolean |
lock()
Locks out mutual recursive event notification. |
void |
setComboBox(JComboBox comboBox)
Sets the combo box which this object is auto completing and updates the drop down list with the auto completion for the currently selected item. |
private void |
unlock()
Unlocks mutual recursive event notification. |
protected abstract boolean |
update(String initials)
Subclasses are expected to update the auto completion elements in the model of this combo box based on the specified initials. |
private void |
updateEditor(ComboBoxEditor cbe,
Object item)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static final long serialVersionUID
private final AbstractComboBoxBrowser.Listener listener
@CheckForNull private JComboBox comboBox
private transient boolean recursion
| Constructor Detail |
|---|
protected AbstractComboBoxBrowser()
setComboBox(javax.swing.JComboBox) must be called in order to use this object.
protected AbstractComboBoxBrowser(@CheckForNull
JComboBox comboBox)
update(java.lang.String)
and hence the drop down list of the combo box is left unchanged.
comboBox - The combo box to enable browsing for auto completions.
May be null.| Method Detail |
|---|
@Nullable public JComboBox getComboBox()
null.
public void setComboBox(@CheckForNull
JComboBox comboBox)
comboBox - The combo box to enable browsing for auto completions.
May be null.
private void changeComboBox(@CheckForNull
JComboBox oldCB,
@CheckForNull
JComboBox newCB,
boolean update)
private void changeEditor(@CheckForNull
ComboBoxEditor oldCBE,
@CheckForNull
ComboBoxEditor newCBE,
boolean update)
private void changeText(@CheckForNull
JTextComponent oldTC,
@CheckForNull
JTextComponent newTC,
boolean update)
private void changeDocument(@CheckForNull
Document oldDoc,
@CheckForNull
Document newDoc,
boolean update)
private void documentUpdated()
private void updateEditor(ComboBoxEditor cbe,
@CheckForNull
Object item)
protected abstract boolean update(@CheckForNull
String initials)
initials.
They should not do any other work within this method.
In particular, they should not update the visual appearance of this
component.
getComboBox() is guaranteed to return non-null if
this method is called from this abstract base class.
initials - The text to auto complete. May be null.
private boolean lock()
private void unlock()
|
TrueZIP Swing 7.0 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||