Class RecentSearches
java.lang.Object
org.jdesktop.swingx.search.RecentSearches
- All Implemented Interfaces:
ActionListener, EventListener
Maintains a list of recent searches and persists this list automatically
using
Preferences. A recent searches popup menu can be installed on
a JXSearchField using install(JXSearchField).-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classThe popup menu returned bycreatePopupMenu(JXSearchField). -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionRecentSearches(String saveName) Creates a list of recent searches and usessaveNameto persist this list under thePreferencesuser root node.RecentSearches(Preferences prefs, String saveName) Creates a list of recent searches and usessaveNameto persist this list under theprefsnode. -
Method Summary
Modifier and TypeMethodDescriptionvoidCallsput(String)with theActionEvents action command as the search string.voidAdd a change listener.protected JPopupMenucreatePopupMenu(JTextField searchField) Creates the recent searches popup menu which will be used byinstall(JXSearchField)to set a search popup menu onsearchField.private voidReturns all registeredChangeListeners.intThe number of recent searches.intReturns the maximum number of recent searches.String[]Returns all recent searches in this list.voidinstall(JTextField searchField) Install a recent the searches popup menu returned bycreatePopupMenu(JXSearchField)onsearchField.private voidload()voidAdd a search string as the first element.voidRemove all recent searches.voidRemove a change listener.private voidsave()voidsetMaxRecents(int maxRecents) Set the maximum number of recent searches.voiduninstall(JXSearchField searchField) Remove the recent searches popup fromsearchFieldwhen installed and stop listening forActionEvents fired by the search field.
-
Field Details
-
prefsNode
-
maxRecents
private int maxRecents -
recentSearches
-
listeners
-
-
Constructor Details
-
RecentSearches
Creates a list of recent searches and usessaveNameto persist this list under thePreferencesuser root node. Existing entries will be loaded automatically.- Parameters:
saveName- a unique name for saving this list of recent searches
-
RecentSearches
Creates a list of recent searches and usessaveNameto persist this list under theprefsnode. Existing entries will be loaded automatically.- Parameters:
saveName- a unique name for saving this list of recent searches. If saveName isnull, the list will not be persistedprefsNode- the preferences node under which this list will be persisted. If prefsNode isnullthe preferences node will be set to the user root node
-
-
Method Details
-
load
private void load() -
save
private void save() -
put
Add a search string as the first element. If the search string isnullor empty nothing will be added. If the search string already exists, the old element will be removed. The modified list will automatically be persisted. If the number of elements exceeds the maximum number of entries, the last entry will be removed.- Parameters:
searchString- the search string to add- See Also:
-
getRecentSearches
Returns all recent searches in this list.- Returns:
- the recent searches
-
getLength
public int getLength()The number of recent searches.- Returns:
- number of recent searches
-
removeAll
public void removeAll()Remove all recent searches. -
getMaxRecents
public int getMaxRecents()Returns the maximum number of recent searches.- Returns:
- the maximum number of recent searches
- See Also:
-
setMaxRecents
public void setMaxRecents(int maxRecents) Set the maximum number of recent searches.- Parameters:
maxRecents- maximum number of recent searches- See Also:
-
addChangeListener
Add a change listener. AChangeEventwill be fired whenever a search is added or removed.- Parameters:
l- theChangeListener
-
removeChangeListener
Remove a change listener.- Parameters:
l- a registeredChangeListener
-
getChangeListeners
Returns all registeredChangeListeners.- Returns:
- all registered
ChangeListeners
-
fireChangeEvent
private void fireChangeEvent() -
createPopupMenu
Creates the recent searches popup menu which will be used byinstall(JXSearchField)to set a search popup menu onsearchField. Override to return a custom popup menu.- Parameters:
searchField- the search field the returned popup menu will be installed on- Returns:
- the recent searches popup menu
-
install
Install a recent the searches popup menu returned bycreatePopupMenu(JXSearchField)onsearchField. Also registers anActionListeneronsearchFieldand adds the search string to the list of recent searches whenever aActionEventis received. UsesNativeSearchFieldSupportto achieve compatibility with the native search field support provided by the Mac Look And Feel since Mac OS 10.5.- Parameters:
searchField- the search field to install a recent searches popup menu on
-
uninstall
Remove the recent searches popup fromsearchFieldwhen installed and stop listening forActionEvents fired by the search field.- Parameters:
searchField- uninstall recent searches popup menu
-
actionPerformed
Callsput(String)with theActionEvents action command as the search string.- Specified by:
actionPerformedin interfaceActionListener
-