bibliothek.gui.dock.themes.basic
Class BasicButtonDockTitle

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by bibliothek.gui.dock.title.AbstractDockTitle
                      extended by bibliothek.gui.dock.themes.basic.BasicButtonDockTitle
All Implemented Interfaces:
DockElementRepresentative, DockTitle, ImageObserver, MenuContainer, Serializable, Accessible
Direct Known Subclasses:
FlatButtonTitle, SmoothDefaultButtonTitle

@ColorCodes(value={"title.flap.active","title.flap.active.text","title.flap.inactive","title.flap.inactive.text","title.flap.selected","title.flap.selected.text"})
public class BasicButtonDockTitle
extends AbstractDockTitle

This title changes its border whenever the active-state changes.

Author:
Benjamin Sigg
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Nested classes/interfaces inherited from interface bibliothek.gui.dock.title.DockTitle
DockTitle.Orientation
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface bibliothek.gui.dock.title.DockTitle
ORIENTATION_STRATEGY
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
BasicButtonDockTitle(Dockable dockable, DockTitleVersion origin)
          Constructs a new title
 
Method Summary
protected  void changeBorder()
          Exchanges the current border.
 void changed(DockTitleEvent event)
          Called if a property changed that might be important for painting this title.
 Color getActiveColor()
          Gets the color that is used as background if the title is focused.
 Color getActiveTextColor()
          Gets the color that is used as foreground if the title is focused.
 Color getInactiveColor()
          Gets the color that is used as background
 Color getInactiveTextColor()
          Gets the color that is used as foreground
 Point getPopupLocation(Point click, boolean popupTrigger)
          Tells whether a popup menu should be opened when the user clicks at click with the mouse.
 Color getSelectedColor()
          Gets the color that is used as background if the title is selected.
 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.
 void setActive(boolean active)
          Sets whether this title should be painted as focused or not.
 void setActiveColor(Color color)
          Sets the color that is used as background if the title is focused.
 void setActiveTextColor(Color color)
          Sets the color that is used as foreground if the title is focused.
 void setInactiveColor(Color color)
          Sets the color that is used as background
 void setInactiveTextColor(Color color)
          Sets the color that is used as foreground
 void setSelectedColor(Color color)
          Sets the color that is used as background if the title is selected.
 void setSelectedTextColor(Color color)
          Sets the color that is used as foreground if the title is selected.
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.
 
Methods inherited from class bibliothek.gui.dock.title.AbstractDockTitle
addColor, addConditionalFont, addFont, addMouseInputListener, bind, createItemFor, doLayout, getActionSourceFor, getComponent, getDockable, getElement, getIcon, getIconBounds, getInnerInsets, getMinimumSize, getOrientation, getOrigin, getPreferredSize, getText, init, isActive, isBound, isUsedAsTitle, paintBackground, paintComponent, removeAllConditionalFonts, removeColor, removeFont, removeMouseInputListener, setBackground, setFont, setFontModifier, setForeground, setIcon, setOrientation, setText, setTooltip, unbind, updateFonts, updateTooltip
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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
 
Methods inherited from class java.awt.Container
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, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
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, hide, 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, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BasicButtonDockTitle

public BasicButtonDockTitle(Dockable dockable,
                            DockTitleVersion origin)
Constructs a new title

Parameters:
dockable - the Dockable for which this title is created
origin - the version which was used to create this title
Method Detail

updateIcon

protected void updateIcon()
Description copied from class: AbstractDockTitle
Called when the icon of this title should be updated. This title never calls AbstractDockTitle.setIcon(Icon) directly, it always calls this method which then calls AbstractDockTitle.setIcon(Icon) (the only exception: on unbinding the icon is set to null)

Overrides:
updateIcon in class AbstractDockTitle

updateText

protected void updateText()
Description copied from class: AbstractDockTitle
Called when the text of this title should be updated. This title never calls AbstractDockTitle.setText(String) directly, it always calls this method which then calls AbstractDockTitle.setText(String) (the only exception: on unbinding the text is set to null)

Overrides:
updateText in class AbstractDockTitle

setActive

public void setActive(boolean active)
Description copied from class: AbstractDockTitle
Sets whether this title should be painted as focused or not.

Overrides:
setActive in class AbstractDockTitle
Parameters:
active - true if the Dockable of this title has the focus.

changed

public void changed(DockTitleEvent event)
Description copied from interface: DockTitle
Called if a property changed that might be important for painting this title. The property can be anything, it does not necessarily have to be a property of this title nor of its owner. Modules using this title might send subclasses of DockTitleEvent to transmit more information to this title than DockTitleEvent would allow.

Specified by:
changed in interface DockTitle
Overrides:
changed in class AbstractDockTitle
Parameters:
event - information about the current state

getPopupLocation

public Point getPopupLocation(Point click,
                              boolean popupTrigger)
Description copied from interface: DockElementRepresentative
Tells whether a popup menu should be opened when the user clicks at click with the mouse. If yes, then the top left edge of the popup should be returned, otherwise null should be returned.

Specified by:
getPopupLocation in interface DockElementRepresentative
Overrides:
getPopupLocation in class AbstractDockTitle
Parameters:
click - the location where the user clicked with the mouse
popupTrigger - 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
Returns:
the preferred location of a popup or null if no popup-menu should be opened

isMousePressed

protected boolean isMousePressed()
Tells whether the mouse is currently pressed or not.

Returns:
true if the mouse is pressed

isSelected

public boolean isSelected()
Whether this button is selected or not.

Returns:
true if selected, false otherwise

updateLayout

protected void updateLayout()
Updates various elements of this title such that the current state is met.


changeBorder

protected void changeBorder()
Exchanges the current border.


updateColors

protected void updateColors()
Updates the colors of this title.


getActiveTextColor

public Color getActiveTextColor()
Gets the color that is used as foreground if the title is focused.

Returns:
the color, might be null

setActiveTextColor

public void setActiveTextColor(Color color)
Sets the color that is used as foreground if the title is focused.

Parameters:
color - the new color, null to reset the property

getActiveColor

public Color getActiveColor()
Gets the color that is used as background if the title is focused.

Returns:
the color, might be null

setActiveColor

public void setActiveColor(Color color)
Sets the color that is used as background if the title is focused.

Parameters:
color - the new color, null to reset the property

getSelectedTextColor

public Color getSelectedTextColor()
Gets the color that is used as foreground if the title is selected.

Returns:
the color, might be null

setSelectedTextColor

public void setSelectedTextColor(Color color)
Sets the color that is used as foreground if the title is selected.

Parameters:
color - the new color, null to reset the property

getSelectedColor

public Color getSelectedColor()
Gets the color that is used as background if the title is selected.

Returns:
the color, might be null

setSelectedColor

public void setSelectedColor(Color color)
Sets the color that is used as background if the title is selected.

Parameters:
color - the new color, null to reset the property

getInactiveTextColor

public Color getInactiveTextColor()
Gets the color that is used as foreground

Returns:
the color, might be null

setInactiveTextColor

public void setInactiveTextColor(Color color)
Sets the color that is used as foreground

Parameters:
color - the new color, null to reset the property

getInactiveColor

public Color getInactiveColor()
Gets the color that is used as background

Returns:
the color, might be null

setInactiveColor

public void setInactiveColor(Color color)
Sets the color that is used as background

Parameters:
color - the new color, null to reset the property