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
Base implementation of the
JXTaskPane
UI.- Author:
- Frederic Lavigne
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class
The border around the content paneprotected class
The border of the taskpane group paints the "text", the "icon", the "expanded" status and the "special" type. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected JXTaskPane
protected MouseInputListener
protected boolean
protected PropertyChangeListener
protected int
protected int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
configure
(JXHyperlink link) Configures internally used hyperlink on new action creation and on every call toupdateUI()
.createAction
(Action action) Called by the component when an action is added to the component through theJXTaskPane.add(Action)
method.protected Border
Creates content pane border.protected MouseInputListener
Creates new toggle listener.protected Border
Creates new border for task pane.protected PropertyChangeListener
Creates property change listener for task pane.static ComponentUI
factoryprotected void
Ensures expanded group is visible.protected int
Gets size of arc used to round corners.protected int
Gets current title height.protected void
Installs default properties.protected void
Installs keyboard actions to allow task pane to react on hot keys.protected void
Installs listeners for UI delegate.void
protected boolean
isInBorder
(MouseEvent event) Evaluates whenever given mouse even have occurred within borders of task pane.protected void
Uninstalls previously installed listeners to free component for garbage collection.void
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, paint, update
-
Field Details
-
titleHeight
protected int titleHeight -
roundHeight
protected int roundHeight -
group
-
mouseOver
protected boolean mouseOver -
mouseListener
-
propertyListener
-
-
Constructor Details
-
BasicTaskPaneUI
public BasicTaskPaneUI()
-
-
Method Details
-
createUI
factory- Parameters:
c
- JComponent not used- Returns:
- new instance of BasicTaskPaneUI
-
installUI
- Overrides:
installUI
in classComponentUI
-
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. -
uninstallUI
- Overrides:
uninstallUI
in classComponentUI
-
uninstallListeners
protected void uninstallListeners()Uninstalls previously installed listeners to free component for garbage collection. -
createMouseInputListener
Creates new toggle listener.- Returns:
- MouseInputListener reacting on toggle events of task pane.
-
createPropertyListener
Creates property change listener for task pane.- Returns:
- Property change listener reacting on changes to the task pane.
-
isInBorder
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
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.- Parameters:
c
- Component- Returns:
- Current title height.
-
createPaneBorder
Creates new border for task pane.- Returns:
- Fresh border on every call.
-
getPreferredSize
- Overrides:
getPreferredSize
in classComponentUI
-
createContentPaneBorder
Creates content pane border.- Returns:
- Fresh content pane border initialized with current value of TaskPane.borderColor on every call.
-
createAction
Description copied from class:TaskPaneUI
Called by the component when an action is added to the component through theJXTaskPane.add(Action)
method.The strategie to create the button icon in
AbstractButton.setIconFromAction
is first try Action.LARGE_ICON_KEY, if not exists then use Action.SMALL_ICON- Overrides:
createAction
in classTaskPaneUI
- Parameters:
action
- ui action- Returns:
- a component built from the action.
-
configure
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.
-