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 theJXTaskPane
UI.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
BasicTaskPaneUI.ChangeListener
Change listener responsible for change handling.protected static class
BasicTaskPaneUI.ChevronIcon
Toggle icon.protected static class
BasicTaskPaneUI.ContentPaneBorder
The border around the content paneprotected class
BasicTaskPaneUI.PaneBorder
The border of the taskpane group paints the "text", the "icon", the "expanded" status and the "special" type.(package private) static class
BasicTaskPaneUI.RepaintOnFocus
Focus listener responsible for repainting of the taskpane on focus change.(package private) class
BasicTaskPaneUI.ToggleCollapsedAction
Toggle expanded action.(package private) class
BasicTaskPaneUI.ToggleListener
Mouse listener responsible for handling of toggle events.
-
Field Summary
Fields Modifier and Type Field Description private static java.awt.event.FocusListener
focusListener
protected JXTaskPane
group
protected javax.swing.event.MouseInputListener
mouseListener
protected boolean
mouseOver
protected java.beans.PropertyChangeListener
propertyListener
protected int
roundHeight
protected int
titleHeight
-
Constructor Summary
Constructors Constructor Description BasicTaskPaneUI()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
configure(JXHyperlink link)
Configures internally used hyperlink on new action creation and on every call toupdateUI()
.java.awt.Component
createAction(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.Border
createContentPaneBorder()
Creates content pane border.protected javax.swing.event.MouseInputListener
createMouseInputListener()
Creates new toggle listener.protected javax.swing.border.Border
createPaneBorder()
Creates new border for task pane.protected java.beans.PropertyChangeListener
createPropertyListener()
Creates property change listener for task pane.static javax.swing.plaf.ComponentUI
createUI(javax.swing.JComponent c)
protected void
ensureVisible()
Ensures expanded group is visible.(package private) javax.swing.ActionMap
getActionMap()
java.awt.Dimension
getPreferredSize(javax.swing.JComponent c)
protected int
getRoundHeight()
Gets size of arc used to round corners.protected int
getTitleHeight(java.awt.Component c)
Gets current title height.protected void
installDefaults()
Installs default properties.protected void
installKeyboardActions()
Installs keyboard actions to allow task pane to react on hot keys.protected void
installListeners()
Installs listeners for UI delegate.void
installUI(javax.swing.JComponent c)
protected boolean
isInBorder(java.awt.event.MouseEvent event)
Evaluates whenever given mouse even have occurred within borders of task pane.protected void
uninstallListeners()
Uninstalls previously installed listeners to free component for garbage collection.void
uninstallUI(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:
installUI
in 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:
uninstallUI
in 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:
getPreferredSize
in 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:TaskPaneUI
Called by the component when an action is added to the component through theJXTaskPane.add(Action)
method.- Overrides:
createAction
in 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.
-
-