Package org.jdesktop.swingx.plaf
Class SearchFieldUI
- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.TextUI
-
- org.jdesktop.swingx.plaf.PromptTextUI
-
- org.jdesktop.swingx.plaf.PromptTextFieldUI
-
- org.jdesktop.swingx.plaf.BuddyTextFieldUI
-
- org.jdesktop.swingx.plaf.SearchFieldUI
-
public class SearchFieldUI extends BuddyTextFieldUI
The defaultJXSearchField
UI delegate.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
SearchFieldUI.Handler
-
Nested classes/interfaces inherited from class org.jdesktop.swingx.plaf.PromptTextUI
PromptTextUI.PainterHighlighter
-
-
Field Summary
Fields Modifier and Type Field Description private SearchFieldUI.Handler
handler
static java.awt.Insets
NO_INSETS
protected JXSearchField
searchField
The search field that we're a UI delegate for.-
Fields inherited from class org.jdesktop.swingx.plaf.BuddyTextFieldUI
layoutAndBorder
-
Fields inherited from class org.jdesktop.swingx.plaf.PromptTextUI
delegate, focusHandler, promptComponent
-
-
Constructor Summary
Constructors Constructor Description SearchFieldUI(javax.swing.plaf.TextUI delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected javax.swing.JButton
clearButton()
Convienence method.private void
configureListeners()
protected BuddyLayoutAndBorder
createBuddyLayoutAndBorder()
private SearchFieldUI.Handler
getHandler()
protected javax.swing.Icon
getNewIcon(javax.swing.Icon icon, java.lang.String resKey)
Convience method for only replacing icons if they have not been customized by the user.protected int
getPopupOffset()
Returns the number of pixels between the popup button and the clear (or search) button as specified in the default table by 'SearchField.popupOffset'.private boolean
hasText()
protected void
installDefaults()
Initialize the search fields various properties based on the corresponding "SearchField.*" properties from defaults table.void
installUI(javax.swing.JComponent c)
CallsinstallDefaults()
, adds the search, clear and popup button to the search field and registers aPropertyChangeListener
adDocumentListener
and anActionListener
on the popup button.private boolean
isMacLayoutStyle()
private boolean
isNativeSearchField()
private void
layoutButtons()
protected javax.swing.JButton
popupButton()
Convienence method.protected javax.swing.JButton
searchButton()
Convienence method.protected boolean
shouldReplaceResource(java.lang.Object o)
Returns true ifo
isnull
or of instanceUIResource
.void
uninstallUI(javax.swing.JComponent c)
Removes all installed listeners, the layout and resets the search field original border and removes all children.protected void
updateButtons()
Sets the visibility of the search, clear and popup buttons depending on the search mode, layout stye, search text, search popup menu and the use of a seperate popup button.boolean
usingSeperatePopupButton()
Returnstrue
ifJXSearchField.isUseSeperatePopupButton()
istrue
and a search popup menu has been set.-
Methods inherited from class org.jdesktop.swingx.plaf.BuddyTextFieldUI
getPreferredSize, paint
-
Methods inherited from class org.jdesktop.swingx.plaf.PromptTextFieldUI
createPromptComponent, getPromptComponent
-
Methods inherited from class org.jdesktop.swingx.plaf.PromptTextUI
contains, damageRange, damageRange, equals, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getEditorKit, getMaximumSize, getMinimumSize, getNextVisualPositionFrom, getRootView, getToolTipText, hashCode, modelToView, modelToView, paintPromptComponent, shouldPaintPrompt, toString, update, viewToModel, viewToModel
-
-
-
-
Field Detail
-
searchField
protected JXSearchField searchField
The search field that we're a UI delegate for. Initialized by theinstallUI
method, and reset to null byuninstallUI
.
-
handler
private SearchFieldUI.Handler handler
-
NO_INSETS
public static final java.awt.Insets NO_INSETS
-
-
Method Detail
-
getHandler
private SearchFieldUI.Handler getHandler()
-
installUI
public void installUI(javax.swing.JComponent c)
CallsinstallDefaults()
, adds the search, clear and popup button to the search field and registers aPropertyChangeListener
adDocumentListener
and anActionListener
on the popup button.- Overrides:
installUI
in classBuddyTextFieldUI
-
configureListeners
private void configureListeners()
-
isNativeSearchField
private boolean isNativeSearchField()
-
createBuddyLayoutAndBorder
protected BuddyLayoutAndBorder createBuddyLayoutAndBorder()
- Overrides:
createBuddyLayoutAndBorder
in classBuddyTextFieldUI
-
layoutButtons
private void layoutButtons()
-
isMacLayoutStyle
private boolean isMacLayoutStyle()
-
installDefaults
protected void installDefaults()
Initialize the search fields various properties based on the corresponding "SearchField.*" properties from defaults table. TheJXSearchField
s layout is set to the value returned bycreateLayout
. Also calls#replaceBorderIfNecessary()
andupdateButtons()
. This method is called byinstallUI(JComponent)
.- See Also:
installUI(javax.swing.JComponent)
,#createLayout
,JXSearchField.customSetUIProperty(String, Object)
-
uninstallUI
public void uninstallUI(javax.swing.JComponent c)
Removes all installed listeners, the layout and resets the search field original border and removes all children.- Overrides:
uninstallUI
in classBuddyTextFieldUI
-
shouldReplaceResource
protected boolean shouldReplaceResource(java.lang.Object o)
Returns true ifo
isnull
or of instanceUIResource
.- Parameters:
o
- an object- Returns:
- true if
o
isnull
or of instanceUIResource
-
getNewIcon
protected javax.swing.Icon getNewIcon(javax.swing.Icon icon, java.lang.String resKey)
Convience method for only replacing icons if they have not been customized by the user. Returns the icon from the defaults table belonging toresKey
, ifshouldReplaceResource(Object)
with theicon
as a parameter returnstrue
. Otherwise returnsicon
.- Parameters:
icon
- the current iconresKey
- the resource key identifying the default icon- Returns:
- the new icon
-
clearButton
protected final javax.swing.JButton clearButton()
Convienence method.- Returns:
- the clear button
- See Also:
JXSearchField.getCancelButton()
-
searchButton
protected final javax.swing.JButton searchButton()
Convienence method.- Returns:
- the search button
- See Also:
JXSearchField.getFindButton()
-
popupButton
protected final javax.swing.JButton popupButton()
Convienence method.- Returns:
- the popup button
- See Also:
JXSearchField.getPopupButton()
-
usingSeperatePopupButton
public boolean usingSeperatePopupButton()
Returnstrue
ifJXSearchField.isUseSeperatePopupButton()
istrue
and a search popup menu has been set.- Returns:
- the popup button is used in addition to the search button
-
getPopupOffset
protected int getPopupOffset()
Returns the number of pixels between the popup button and the clear (or search) button as specified in the default table by 'SearchField.popupOffset'. Returns 0 ifusingSeperatePopupButton()
returnsfalse
- Returns:
- number of pixels between the popup button and the clear (or search) button
-
updateButtons
protected void updateButtons()
Sets the visibility of the search, clear and popup buttons depending on the search mode, layout stye, search text, search popup menu and the use of a seperate popup button. Also resets the search buttons pressed and rollover icons if the search field is in regular search mode or clears the icons when the search field is in instant search mode.
-
hasText
private boolean hasText()
-
-