|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
bibliothek.gui.dock.title.AbstractDockTitle
public class AbstractDockTitle
An abstract implementation of DockTitle. This title can have
an icon, a title-text and some small buttons to display actions.
The icon is at the top or left edge, the text in the middle, and the actions
at the lower or the right edge of the title. If the orientation of the
title is set to vertical, the text will be rotated
by 90 degrees.
This title has also an ActionPopup which will appear when the user
presses the right mouse-button. The popup shows a list of all actions known
to this title.
The whole logic a DockTitle needs is implemented in this class,
but subclasses may add graphical features - like a border or another
background.
Subclasses may override getInnerInsets() to add a space between
border and contents of this title.
| 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 | |
|---|---|
protected |
AbstractDockTitle()
Constructor which does not do anything. |
|
AbstractDockTitle(Dockable dockable,
DockTitleVersion origin)
Constructs a new title |
|
AbstractDockTitle(Dockable dockable,
DockTitleVersion origin,
boolean showMiniButtons)
Standard constructor |
| Method Summary | |
|---|---|
protected void |
addColor(AbstractDockColor color)
Adds a color to the list of colors, this title will ensure that color gets connected to a ColorManager as soon
as this title is bound. |
protected void |
addConditionalFont(String id,
Path kind,
Condition condition,
FontModifier backup)
Adds a new conditional font to this title, the conditional font will be applied to setFont(Font) when its condition
is met. |
protected void |
addFont(AbstractDockFont font)
Adds a font to the list of fonts, this title will ensure that font gets connected to a FontManager as soon
as this title is bound. |
void |
addMouseInputListener(MouseInputListener listener)
Adds a listener to this representative, it is not defined what to do with that listener, but most subclasses would just add the listener to their component. |
void |
bind()
Called before this title is displayed. |
void |
changed(DockTitleEvent event)
Called if a property changed that might be important for painting this title. |
protected BasicTitleViewItem<JComponent> |
createItemFor(DockAction action,
Dockable dockable)
Creates a new item for action which will be shown on this title. |
void |
doLayout()
|
protected DockActionSource |
getActionSourceFor(Dockable dockable)
Gets a list of all actions which will be shown on this title. |
Component |
getComponent()
Gets the Component which represents the element. |
Dockable |
getDockable()
Gets the owner of this title. |
DockElement |
getElement()
Gets the element which is represented by this. |
protected Icon |
getIcon()
Gets the icon of this title. |
Rectangle |
getIconBounds()
Gets the location and the size of the icon. |
protected Insets |
getInnerInsets()
Gets the insets that have to be applied between the border and the content of this title. |
Dimension |
getMinimumSize()
|
DockTitle.Orientation |
getOrientation()
Gets the current orientation. |
DockTitleVersion |
getOrigin()
Gets information about how this title was created. |
Point |
getPopupLocation(Point click,
boolean popupTrigger)
Tells whether a popup menu should be opened when the user clicks at click with the mouse. |
Dimension |
getPreferredSize()
|
protected String |
getText()
Gets the text which is shown on this title. |
protected void |
init(Dockable dockable,
DockTitleVersion origin,
boolean showMiniButtons)
Initializer called by the constructor. |
boolean |
isActive()
Tells whether this title is selected (active) or not. |
boolean |
isBound()
Tells whether this title is bound to a Dockable or not. |
boolean |
isUsedAsTitle()
Tells whether this DockElementRepresentative is used as title. |
protected void |
paintBackground(Graphics g,
JComponent component)
Paints the whole background of this title. |
void |
paintComponent(Graphics g)
|
protected void |
removeAllConditionalFonts()
Removes all fonts which were set using addConditionalFont(String, Path, Condition, FontModifier) |
protected void |
removeColor(AbstractDockColor color)
Removes a color from this title |
protected void |
removeFont(AbstractDockFont font)
Removes a font from this title. |
void |
removeMouseInputListener(MouseInputListener listener)
Removes a listener from this representative. |
void |
setActive(boolean active)
Sets whether this title should be painted as focused or not. |
void |
setBackground(Color fg)
|
void |
setFont(Font font)
|
void |
setFontModifier(FontModifier modifier)
|
void |
setForeground(Color fg)
|
protected void |
setIcon(Icon icon)
Sets the icon of this title. |
void |
setOrientation(DockTitle.Orientation orientation)
Sets the orientation of this title. |
protected void |
setText(String text)
Sets the text of this title. |
protected void |
setTooltip(String text)
Sets the tooltip that will be shown on this title. |
void |
unbind()
The reverse of DockTitle.bind(). |
protected void |
updateFonts()
Checks the state of this title and may replace the font of the title. |
protected void |
updateIcon()
Called when the icon of this title should be updated. |
protected void |
updateText()
Called when the text of this title should be updated. |
protected void |
updateTooltip()
Called when the tooltip of this title should be updated. |
| Methods inherited from class javax.swing.JPanel |
|---|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public AbstractDockTitle(Dockable dockable,
DockTitleVersion origin)
dockable - the Dockable which is the owner of this titleorigin - the version which was used to create this title
public AbstractDockTitle(Dockable dockable,
DockTitleVersion origin,
boolean showMiniButtons)
dockable - The Dockable whose title this will beorigin - The version which was used to create this titleshowMiniButtons - true if the actions of the Dockable
should be shown, false if they should not be visibleprotected AbstractDockTitle()
init(Dockable, DockTitleVersion, boolean) to initialize
the title.
| Method Detail |
|---|
protected void init(Dockable dockable,
DockTitleVersion origin,
boolean showMiniButtons)
dockable - The Dockable whose title this will beorigin - The version which was used to create this titleshowMiniButtons - true if the actions of the Dockable
should be shown, false if they should not be visibleprotected void addColor(AbstractDockColor color)
color gets connected to a ColorManager as soon
as this title is bound.
color - the new colorprotected void removeColor(AbstractDockColor color)
color - the color to removeprotected void addFont(AbstractDockFont font)
font gets connected to a FontManager as soon
as this title is bound.
font - the new fontprotected void removeFont(AbstractDockFont font)
font - the font to remove
protected void addConditionalFont(String id,
Path kind,
Condition condition,
FontModifier backup)
setFont(Font) when its condition
is met. If there is more than one font whose condition is met, then the
first one that was registered is used.
id - the id of the font which is to be usedkind - what kind of title this iscondition - the condition to metbackup - to be used when there is not font set in the FontManagerprotected void removeAllConditionalFonts()
addConditionalFont(String, Path, Condition, FontModifier)
public void paintComponent(Graphics g)
paintComponent in class JComponentpublic Rectangle getIconBounds()
null if no icon is registered
protected void paintBackground(Graphics g,
JComponent component)
component.
g - the graphics context used to paintcomponent - the Component which represents this titleprotected void setIcon(Icon icon)
icon - the icon, can be nullprotected Icon getIcon()
nullsetIcon(Icon)protected void setText(String text)
text - the text or nullprotected String getText()
protected void setTooltip(String text)
text - the new tooltip, can be nullpublic void setOrientation(DockTitle.Orientation orientation)
DockTitle
setOrientation in interface DockTitleorientation - the orientationpublic DockTitle.Orientation getOrientation()
getOrientation in interface DockTitlesetOrientation(bibliothek.gui.dock.title.DockTitle.Orientation)public DockTitleVersion getOrigin()
DockTitleDockTitleVersion can be used
to create a DockTitleRequest which should create the same title again. If this title
was not created through the regular methods, then this method is allowed
to return null. However, some features will only work correctly
if this value is not null.
getOrigin in interface DockTitlenullpublic void setForeground(Color fg)
setForeground in class JComponentpublic void setBackground(Color fg)
setBackground in class JComponentpublic void setFont(Font font)
setFont in class JComponentpublic void setFontModifier(FontModifier modifier)
public Dimension getMinimumSize()
getMinimumSize in class JComponentprotected Insets getInnerInsets()
nullpublic void doLayout()
doLayout in class Containerpublic Component getComponent()
DockElementRepresentativeComponent which represents the element.
The result of this method must not change.
getComponent in interface DockElementRepresentativegetComponent in interface DockTitlenullpublic void addMouseInputListener(MouseInputListener listener)
DockElementRepresentativecomponent. It is valid to do nothing.
addMouseInputListener in interface DockElementRepresentativeaddMouseInputListener in interface DockTitlelistener - the new listenerpublic void removeMouseInputListener(MouseInputListener listener)
DockElementRepresentative
removeMouseInputListener in interface DockElementRepresentativeremoveMouseInputListener in interface DockTitlelistener - the listener to remove
public Point getPopupLocation(Point click,
boolean popupTrigger)
DockElementRepresentativeclick with the mouse. If yes, then the top left edge
of the popup should be returned, otherwise null should be
returned.
getPopupLocation in interface DockElementRepresentativeclick - 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 openedpublic Dockable getDockable()
DockTitle
getDockable in interface DockTitlepublic DockElement getElement()
DockElementRepresentativethis.
The result of this method must not change.
getElement in interface DockElementRepresentativenullpublic boolean isUsedAsTitle()
DockElementRepresentativeDockElementRepresentative is used as title.DockRelocator can allow drag & drop only for titles.Dockable should have only one element that is a title,
so if in doubt return false.
isUsedAsTitle in interface DockElementRepresentativetrue if this representative should be seen as titlepublic void setActive(boolean active)
active - true if the Dockable of this title
has the focus.public void changed(DockTitleEvent event)
DockTitleDockTitleEvent to transmit more information
to this title than DockTitleEvent would allow.
changed in interface DockTitleevent - information about the current statepublic boolean isActive()
DockTitlechanged.
isActive in interface DockTitlepublic Dimension getPreferredSize()
getPreferredSize in class JComponent
protected BasicTitleViewItem<JComponent> createItemFor(DockAction action,
Dockable dockable)
action which will be shown on this title.
action - The action which will be triggered by the buttondockable - The Dockable which will be affected by the action
protected DockActionSource getActionSourceFor(Dockable dockable)
dockable - the owner of the actions
public void bind()
DockTitleowner.
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 DockTitlepublic void unbind()
DockTitleDockTitle.bind(). The title should remove any connections
to other objects and unbind its
DockActions.Dockable.unbind(DockTitle). The DockController
will call the unbind-method before the Dockable looses the controller.
unbind in interface DockTitleprotected void updateIcon()
setIcon(Icon) directly, it always calls this method
which then calls setIcon(Icon) (the only exception: on
unbinding the icon is set to null)
protected void updateText()
setText(String) directly, it always calls this method
which then calls setText(String) (the only exception: on
unbinding the text is set to null)
protected void updateTooltip()
setTooltip(String) directly, it always
calls this method which then calls setTooltip(String) (the
only exception: on unbinding the tooltip is set to null)
public boolean isBound()
Dockable or not.
bound, false
otherwiseprotected void updateFonts()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||