Package org.jdesktop.swingx.plaf.basic
Class BasicTaskPaneUI
- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.PanelUI
-
- org.jdesktop.swingx.plaf.TaskPaneUI
-
- org.jdesktop.swingx.plaf.basic.BasicTaskPaneUI
-
- Direct Known Subclasses:
GlossyTaskPaneUI,MetalTaskPaneUI,NimbusTaskPaneUI,WindowsClassicTaskPaneUI,WindowsTaskPaneUI
public class BasicTaskPaneUI extends TaskPaneUI
Base implementation of theJXTaskPaneUI.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classBasicTaskPaneUI.ChangeListenerChange listener responsible for change handling.protected static classBasicTaskPaneUI.ChevronIconToggle icon.protected static classBasicTaskPaneUI.ContentPaneBorderThe border around the content paneprotected classBasicTaskPaneUI.PaneBorderThe border of the taskpane group paints the "text", the "icon", the "expanded" status and the "special" type.(package private) static classBasicTaskPaneUI.RepaintOnFocusFocus listener responsible for repainting of the taskpane on focus change.(package private) classBasicTaskPaneUI.ToggleCollapsedActionToggle expanded action.(package private) classBasicTaskPaneUI.ToggleListenerMouse listener responsible for handling of toggle events.
-
Field Summary
Fields Modifier and Type Field Description private static java.awt.event.FocusListenerfocusListenerprotected JXTaskPanegroupprotected javax.swing.event.MouseInputListenermouseListenerprotected booleanmouseOverprotected java.beans.PropertyChangeListenerpropertyListenerprotected introundHeightprotected inttitleHeight
-
Constructor Summary
Constructors Constructor Description BasicTaskPaneUI()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidconfigure(JXHyperlink link)Configures internally used hyperlink on new action creation and on every call toupdateUI().java.awt.ComponentcreateAction(javax.swing.Action action)Called by the component when an action is added to the component through theJXTaskPane.add(Action)method.protected javax.swing.border.BordercreateContentPaneBorder()Creates content pane border.protected javax.swing.event.MouseInputListenercreateMouseInputListener()Creates new toggle listener.protected javax.swing.border.BordercreatePaneBorder()Creates new border for task pane.protected java.beans.PropertyChangeListenercreatePropertyListener()Creates property change listener for task pane.static javax.swing.plaf.ComponentUIcreateUI(javax.swing.JComponent c)protected voidensureVisible()Ensures expanded group is visible.(package private) javax.swing.ActionMapgetActionMap()java.awt.DimensiongetPreferredSize(javax.swing.JComponent c)protected intgetRoundHeight()Gets size of arc used to round corners.protected intgetTitleHeight(java.awt.Component c)Gets current title height.protected voidinstallDefaults()Installs default properties.protected voidinstallKeyboardActions()Installs keyboard actions to allow task pane to react on hot keys.protected voidinstallListeners()Installs listeners for UI delegate.voidinstallUI(javax.swing.JComponent c)protected booleanisInBorder(java.awt.event.MouseEvent event)Evaluates whenever given mouse even have occurred within borders of task pane.protected voiduninstallListeners()Uninstalls previously installed listeners to free component for garbage collection.voiduninstallUI(javax.swing.JComponent c)
-
-
-
Field Detail
-
focusListener
private static java.awt.event.FocusListener focusListener
-
titleHeight
protected int titleHeight
-
roundHeight
protected int roundHeight
-
group
protected JXTaskPane group
-
mouseOver
protected boolean mouseOver
-
mouseListener
protected javax.swing.event.MouseInputListener mouseListener
-
propertyListener
protected java.beans.PropertyChangeListener propertyListener
-
-
Method Detail
-
createUI
public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent c)
-
installUI
public void installUI(javax.swing.JComponent c)
- Overrides:
installUIin classjavax.swing.plaf.ComponentUI
-
installDefaults
protected void installDefaults()
Installs default properties. Following properties are installed:- TaskPane.background
- TaskPane.foreground
- TaskPane.font
- TaskPane.borderColor
- TaskPane.titleForeground
- TaskPane.titleBackgroundGradientStart
- TaskPane.titleBackgroundGradientEnd
- TaskPane.titleOver
- TaskPane.specialTitleOver
- TaskPane.specialTitleForeground
- TaskPane.specialTitleBackground
-
installListeners
protected void installListeners()
Installs listeners for UI delegate.
-
installKeyboardActions
protected void installKeyboardActions()
Installs keyboard actions to allow task pane to react on hot keys.
-
getActionMap
javax.swing.ActionMap getActionMap()
-
uninstallUI
public void uninstallUI(javax.swing.JComponent c)
- Overrides:
uninstallUIin classjavax.swing.plaf.ComponentUI
-
uninstallListeners
protected void uninstallListeners()
Uninstalls previously installed listeners to free component for garbage collection.
-
createMouseInputListener
protected javax.swing.event.MouseInputListener createMouseInputListener()
Creates new toggle listener.- Returns:
- MouseInputListener reacting on toggle events of task pane.
-
createPropertyListener
protected java.beans.PropertyChangeListener createPropertyListener()
Creates property change listener for task pane.- Returns:
- Property change listener reacting on changes to the task pane.
-
isInBorder
protected boolean isInBorder(java.awt.event.MouseEvent event)
Evaluates whenever given mouse even have occurred within borders of task pane.- Parameters:
event- Evaluated event.- Returns:
- True if event occurred within task pane area, false otherwise.
-
getTitleHeight
protected int getTitleHeight(java.awt.Component c)
Gets current title height. Default value is 25 if not specified otherwise. Method checks provided component for user set font (!instanceof FontUIResource), if font is set, height will be calculated from font metrics instead of using internal preset height.- Returns:
- Current title height.
-
createPaneBorder
protected javax.swing.border.Border createPaneBorder()
Creates new border for task pane.- Returns:
- Fresh border on every call.
-
getPreferredSize
public java.awt.Dimension getPreferredSize(javax.swing.JComponent c)
- Overrides:
getPreferredSizein classjavax.swing.plaf.ComponentUI
-
createContentPaneBorder
protected javax.swing.border.Border createContentPaneBorder()
Creates content pane border.- Returns:
- Fresh content pane border initialized with current value of TaskPane.borderColor on every call.
-
createAction
public java.awt.Component createAction(javax.swing.Action action)
Description copied from class:TaskPaneUICalled by the component when an action is added to the component through theJXTaskPane.add(Action)method.- Overrides:
createActionin classTaskPaneUI- Returns:
- a component built from the action.
-
configure
protected void configure(JXHyperlink link)
Configures internally used hyperlink on new action creation and on every call toupdateUI().- Parameters:
link- Configured hyperlink.
-
ensureVisible
protected void ensureVisible()
Ensures expanded group is visible. Issues delayed request for scrolling to visible.
-
getRoundHeight
protected int getRoundHeight()
Gets size of arc used to round corners.- Returns:
- size of arc used to round corners of the panel.
-
-