@ColorCodes(value={"title.flap.active","title.flap.active.text","title.flap.inactive","title.flap.inactive.text","title.flap.selected","title.flap.selected.text","title.flap.active.knob.highlight","title.flap.active.knob.shadow","title.flap.inactive.knob.highlight","title.flap.inactive.knob.shadow","title.flap.selected.knob.highlight","title.flap.selected.knob.shadow"}) public class BasicButtonDockTitle extends AbstractDockTitle
javax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
java.awt.Container.AccessibleAWTContainer
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
DockTitle.Orientation
Modifier and Type | Field and Description |
---|---|
protected ButtonContentValue |
behavior
tells what items to paint
|
protected int |
KNOB_SIZE
amount of space required to paint the knob
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ORIENTATION_STRATEGY
Constructor and Description |
---|
BasicButtonDockTitle(Dockable dockable,
DockTitleVersion origin)
Constructs a new title
|
Modifier and Type | Method and Description |
---|---|
void |
bind()
Called before this title is displayed.
|
protected void |
changeBorder()
Exchanges the current border.
|
void |
changed(DockTitleEvent event)
Called if a property changed that might be important for painting this
title.
|
protected DockActionSource |
createFilter(DockActionSource actions)
Creates a filter around
actions , only the actions going through the filter
will be shown. |
protected DockActionSource |
getActionSourceFor(Dockable dockable)
Gets a list of all actions which will be shown on this title.
|
java.awt.Color |
getActiveColor()
Gets the color that is used as background if the title is focused.
|
java.awt.Color |
getActiveTextColor()
Gets the color that is used as foreground if the title is focused.
|
protected DockActionSource |
getChildrenActionSourceFor(Dockable dockable)
Gets the "special" children actions for
dockable |
protected DockActionSource |
getDefaultActionSourceFor(Dockable dockable)
Gets the "normal" actions for
dockable . |
java.awt.Color |
getInactiveColor()
Gets the color that is used as background
|
java.awt.Color |
getInactiveTextColor()
Gets the color that is used as foreground
|
protected java.awt.Insets |
getInnerInsets()
Gets the insets that have to be applied between the border and the
content (icon, text, actions) of this title.
|
java.awt.Point |
getPopupLocation(java.awt.Point click,
boolean popupTrigger)
Tells whether a popup menu should be opened when the user clicks
at
click with the mouse. |
java.awt.Color |
getSelectedColor()
Gets the color that is used as background if the title is selected.
|
java.awt.Color |
getSelectedTextColor()
Gets the color that is used as foreground if the title is selected.
|
protected boolean |
isMousePressed()
Tells whether the mouse is currently pressed or not.
|
boolean |
isSelected()
Whether this button is selected or not.
|
protected void |
paintForeground(java.awt.Graphics g,
javax.swing.JComponent component)
Paints the whole foreground of this title.
|
void |
setActive(boolean active)
Sets whether this title should be painted as focused or not.
|
void |
setActiveColor(java.awt.Color color)
Sets the color that is used as background if the title is focused.
|
void |
setActiveTextColor(java.awt.Color color)
Sets the color that is used as foreground if the title is focused.
|
void |
setInactiveColor(java.awt.Color color)
Sets the color that is used as background
|
void |
setInactiveTextColor(java.awt.Color color)
Sets the color that is used as foreground
|
void |
setSelectedColor(java.awt.Color color)
Sets the color that is used as background if the title is selected.
|
void |
setSelectedTextColor(java.awt.Color color)
Sets the color that is used as foreground if the title is selected.
|
void |
unbind()
The reverse of
DockTitle.bind() . |
protected void |
updateColors()
Updates the colors of this title.
|
protected void |
updateIcon()
Called when the icon of this title should be updated.
|
protected void |
updateLayout()
Updates various elements of this title such that the current state
is met.
|
protected void |
updateText()
Called when the text of this title should be updated.
|
doTitleLayout, getPreferredSize, getSuggestedSource, init, isShowMiniButtons, setOrientation, setShowMiniButtons, setTooltip, suggestActions
addColor, addConditionalFont, addFont, addMouseInputListener, createItemFor, createRootHandler, doLayout, getComponentConfiguration, getDockable, getElement, getIcon, getIconBounds, getIconTextGap, getLabel, getMinimumSize, getOrientation, getOrigin, getText, init, isActive, isBound, isDisabled, isUsedAsTitle, paintBackground, paintBackground, paintForeground, paintIcon, removeAllConditionalFonts, removeColor, removeFont, removeMouseInputListener, setBackground, setBorder, setComponentConfiguration, setDisabled, setFont, setFontModifier, setForeground, setIcon, setIconTextGap, setText, setupRenderingHints, shouldFocus, shouldTransfersFocus, titleInsets, updateFonts, updateTooltip
configure
getBackgroundAlgorithm, getComponent, getTransparency, paint, paintBorder, paintChildren, paintComponent, paintOverlay, setBackground, setTransparency
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getComponent
protected final int KNOB_SIZE
protected ButtonContentValue behavior
public BasicButtonDockTitle(Dockable dockable, DockTitleVersion origin)
dockable
- the Dockable
for which this title is createdorigin
- the version which was used to create this titlepublic void bind()
DockTitle
owner
.
If the title wants to show some DockActions
(see the method
DockController.listOffers(Dockable)
), then this method
should bind
them too.Dockable.bind(DockTitle)
. The DockController
will call the bind
-method, as soon as the Dockable
knows the controller.bind
in interface DockTitle
bind
in class AbstractDockTitle
public void unbind()
DockTitle
DockTitle.bind()
. The title should remove any connections
to other objects and unbind
its
DockAction
s.Dockable.unbind(DockTitle)
. The DockController
will call the unbind
-method before the Dockable
looses the controller.unbind
in interface DockTitle
unbind
in class AbstractDockTitle
protected java.awt.Insets getInnerInsets()
AbstractMultiDockTitle
getInnerInsets
in class AbstractMultiDockTitle
null
protected DockActionSource getActionSourceFor(Dockable dockable)
AbstractDockTitle
getActionSourceFor
in class AbstractDockTitle
dockable
- the owner of the actionsprotected DockActionSource createFilter(DockActionSource actions)
actions
, only the actions going through the filter
will be shown.actions
- the actions to filterprotected DockActionSource getDefaultActionSourceFor(Dockable dockable)
dockable
.dockable
- some item for which actions are requiredDockActionSource
, not null
protected DockActionSource getChildrenActionSourceFor(Dockable dockable)
dockable
dockable
- some item for which actions are requiredDockActionSource
, not null
protected void updateIcon()
AbstractMultiDockTitle
AbstractMultiDockTitle.setIcon(Icon)
directly, it always calls this method
which then calls AbstractMultiDockTitle.setIcon(Icon)
(the only exception: on
unbinding the icon is set to null
)updateIcon
in class AbstractMultiDockTitle
protected void updateText()
AbstractMultiDockTitle
AbstractMultiDockTitle.setText(String)
directly, it always calls this method
which then calls AbstractMultiDockTitle.setText(String)
(the only exception: on
unbinding the text is set to null
)updateText
in class AbstractMultiDockTitle
protected void paintForeground(java.awt.Graphics g, javax.swing.JComponent component)
AbstractMultiDockTitle
paintForeground
in class AbstractMultiDockTitle
g
- the graphics context to usecomponent
- the Component
which represents this titlepublic void setActive(boolean active)
AbstractMultiDockTitle
setActive
in class AbstractMultiDockTitle
active
- true
if the Dockable
of this title
has the focus.public void changed(DockTitleEvent event)
DockTitle
DockTitleEvent
to transmit more information
to this title than DockTitleEvent
would allow.changed
in interface DockTitle
changed
in class AbstractDockTitle
event
- information about the current statepublic java.awt.Point getPopupLocation(java.awt.Point click, boolean popupTrigger)
DockElementRepresentative
click
with the mouse. If yes, then the top left edge
of the popup should be returned, otherwise null
should be
returned.getPopupLocation
in interface DockElementRepresentative
getPopupLocation
in class AbstractDockTitle
click
- the location where the user clicked with the mousepopupTrigger
- whether the invocation is the systems popup trigger
or not. Many implementations of this method will return click
in case of true
, and null
in case of false
null
if no
popup-menu should be openedprotected boolean isMousePressed()
true
if the mouse is pressedpublic boolean isSelected()
true
if selected, false
otherwiseprotected void updateLayout()
protected void changeBorder()
protected void updateColors()
public java.awt.Color getActiveTextColor()
null
public void setActiveTextColor(java.awt.Color color)
color
- the new color, null
to reset the propertypublic java.awt.Color getActiveColor()
null
public void setActiveColor(java.awt.Color color)
color
- the new color, null
to reset the propertypublic java.awt.Color getSelectedTextColor()
null
public void setSelectedTextColor(java.awt.Color color)
color
- the new color, null
to reset the propertypublic java.awt.Color getSelectedColor()
null
public void setSelectedColor(java.awt.Color color)
color
- the new color, null
to reset the propertypublic java.awt.Color getInactiveTextColor()
null
public void setInactiveTextColor(java.awt.Color color)
color
- the new color, null
to reset the propertypublic java.awt.Color getInactiveColor()
null
public void setInactiveColor(java.awt.Color color)
color
- the new color, null
to reset the property