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 classThe border around the content paneprotected classThe border of the taskpane group paints the "text", the "icon", the "expanded" status and the "special" type. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected JXTaskPaneprotected MouseInputListenerprotected booleanprotected PropertyChangeListenerprotected intprotected int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidconfigure(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 BorderCreates content pane border.protected MouseInputListenerCreates new toggle listener.protected BorderCreates new border for task pane.protected PropertyChangeListenerCreates property change listener for task pane.static ComponentUIfactoryprotected voidEnsures expanded group is visible.protected intGets size of arc used to round corners.protected intGets current title height.protected voidInstalls default properties.protected voidInstalls keyboard actions to allow task pane to react on hot keys.protected voidInstalls listeners for UI delegate.voidprotected booleanisInBorder(MouseEvent event) Evaluates whenever given mouse even have occurred within borders of task pane.protected voidUninstalls previously installed listeners to free component for garbage collection.voidMethods 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:
installUIin 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:
uninstallUIin 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:
getPreferredSizein 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:TaskPaneUICalled 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.setIconFromActionis first try Action.LARGE_ICON_KEY, if not exists then use Action.SMALL_ICON- Overrides:
createActionin 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.
-