@ColorCodes(value={"station.screen.border","station.screen.border.line","station.screen.border.line.highlight.inner","station.screen.border.line.highlight.outer","station.screen.border.line.shadow.inner","station.screen.border.line.shadow.outer","station.screen.border.highlight.inner","station.screen.border.highlight.outer","station.screen.border.shadow.inner","station.screen.border.shadow.outer","station.screen.border.hover","station.screen.border.highlight.inner.hover","station.screen.border.highlight.outer.hover","station.screen.border.shadow.inner.hover","station.screen.border.shadow.outer.hover","station.screen.border.selected","station.screen.border.highlight.inner.selected","station.screen.border.highlight.outer.selected","station.screen.border.shadow.inner.selected","station.screen.border.shadow.outer.selected"}) public class DefaultScreenDockWindowBorder extends java.lang.Object implements ScreenDockWindowBorder
ScreenDockWindow
s to paint a border. The border itself offers methods
to paint indications whether the user currently moves or presses the mouse over it. The states however have to
be set by window itself.Modifier and Type | Class and Description |
---|---|
protected class |
DefaultScreenDockWindowBorder.BorderColor
A
DockColor representing a color used by this border. |
ScreenDockWindowBorder.Position
Constructor and Description |
---|
DefaultScreenDockWindowBorder(ScreenDockWindow window,
javax.swing.JComponent target)
Creates a new border
|
Modifier and Type | Method and Description |
---|---|
protected java.awt.Color |
defaultModify(java.awt.Color color,
boolean inner,
boolean shadow)
Creates colors for parts of this border based on some basic color.
|
java.awt.Insets |
getBorderInsets(java.awt.Component c) |
DockController |
getController()
Gets the
DockController which is currently associated with this border |
int |
getCornerSize()
Gets the size of the corners in pixels.
|
protected java.awt.Color |
getHoverColor(java.awt.Component c)
Gets the base color used for painting a region under the mouse
|
protected java.awt.Color |
getHoverColor(java.awt.Component c,
boolean inner,
boolean shadow)
Gets a color to paint some part of this border that is under the mouse.
|
protected java.awt.Color |
getLine(java.awt.Component c)
Gets the color that should be used for painting a line.
|
protected java.awt.Color |
getLine(java.awt.Component c,
boolean inner,
boolean shadow)
Gets the color that should be used for painting a line.
|
int |
getMoveSize()
Gets the size of the area at the top that can be grabbed in pixels.
|
protected java.awt.Color |
getNormalColor(java.awt.Component c)
Gets a color to paint some part of this border.
|
protected java.awt.Color |
getNormalColor(java.awt.Component c,
boolean inner,
boolean shadow)
Gets a color to paint some part of this.
|
protected java.awt.Color |
getSelectedColor(java.awt.Component c)
Gets a color to paint some part of this border that is under the pressed mouse.
|
protected java.awt.Color |
getSelectedColor(java.awt.Component c,
boolean inner,
boolean shadow)
Gets a color to paint some part of this border that is under the pressed mouse.
|
boolean |
isBorderOpaque() |
boolean |
isDrawDividers()
Tells whether dividing lines are painted
|
boolean |
isMoveable()
Tells whether the window can be moved by grabbing
this border. |
boolean |
isMoveOnlyOnSameSideAsTitle()
Tells whether the position of the move are is set automatically.
|
boolean |
isResizeable()
Tells whether the window can be resized by grabbing
this border. |
void |
paintBorder(java.awt.Component c,
java.awt.Graphics g,
int x,
int y,
int width,
int height) |
void |
setController(DockController controller)
Sets the
DockController which should be monitored for receiving colors. |
void |
setCornerSize(int cornerSize)
Sets the size of the corners in pixels.
|
void |
setDrawDividers(boolean drawDividers)
Sets whether dividing lines are to be painted or not
|
void |
setMouseOver(ScreenDockWindowBorder.Position mouseOver)
Sets where the mouse is currently hovering.
|
void |
setMousePressed(ScreenDockWindowBorder.Position mousePressed)
Sets where the mouse is currently pressed.
|
void |
setMoveable(boolean moveable)
Informs this border whether the window can be moved by grabbing
this . |
void |
setMoveOnlyOnSameSideAsTitle(boolean moveOnlyOnSameSideAsTitle)
Sets whether the move-area should appear on the same side as the
DockTitle , this property
only has an effect if isResizeable() is false . |
void |
setMoveSize(int moveSize)
Sets the size of the area at the top that can be grabbed and used
to move the window.
|
void |
setResizeable(boolean resizeable)
Informs this border whether the window can be resized by grabbing
this . |
public static final ScreenDockWindowBorderFactory FACTORY
DefaultScreenDockWindowBorder
s.protected final DefaultScreenDockWindowBorder.BorderColor colorLine
protected final DefaultScreenDockWindowBorder.BorderColor colorLineHighlightInner
protected final DefaultScreenDockWindowBorder.BorderColor colorLineHighlightOuter
protected final DefaultScreenDockWindowBorder.BorderColor colorLineShadowInner
protected final DefaultScreenDockWindowBorder.BorderColor colorLineShadowOuter
protected final DefaultScreenDockWindowBorder.BorderColor color
protected final DefaultScreenDockWindowBorder.BorderColor colorHighlightInner
protected final DefaultScreenDockWindowBorder.BorderColor colorHighlightOuter
protected final DefaultScreenDockWindowBorder.BorderColor colorShadowInner
protected final DefaultScreenDockWindowBorder.BorderColor colorShadowOuter
protected final DefaultScreenDockWindowBorder.BorderColor colorHover
protected final DefaultScreenDockWindowBorder.BorderColor colorHighlightInnerHover
protected final DefaultScreenDockWindowBorder.BorderColor colorHighlightOuterHover
protected final DefaultScreenDockWindowBorder.BorderColor colorShadowInnerHover
protected final DefaultScreenDockWindowBorder.BorderColor colorShadowOuterHover
protected final DefaultScreenDockWindowBorder.BorderColor colorSelected
protected final DefaultScreenDockWindowBorder.BorderColor colorHighlightInnerSelected
protected final DefaultScreenDockWindowBorder.BorderColor colorHighlightOuterSelected
protected final DefaultScreenDockWindowBorder.BorderColor colorShadowInnerSelected
protected final DefaultScreenDockWindowBorder.BorderColor colorShadowOuterSelected
public DefaultScreenDockWindowBorder(ScreenDockWindow window, javax.swing.JComponent target)
window
- the window for which this border is usedtarget
- the component which is painted by thispublic void setController(DockController controller)
ScreenDockWindowBorder
DockController
which should be monitored for receiving colors.setController
in interface ScreenDockWindowBorder
controller
- the new controller, can be null
public DockController getController()
DockController
which is currently associated with this bordernull
public void setCornerSize(int cornerSize)
ScreenDockWindowBorder
resizeable
, otherwise
it can be ignoredsetCornerSize
in interface ScreenDockWindowBorder
cornerSize
- the size in pixels, at least 0public int getCornerSize()
public void setMoveSize(int moveSize)
setMoveSize
in interface ScreenDockWindowBorder
moveSize
- the size, at least 0public int getMoveSize()
public void setMoveable(boolean moveable)
ScreenDockWindowBorder
this
.setMoveable
in interface ScreenDockWindowBorder
moveable
- whether the window can be movedpublic boolean isMoveable()
this
border.public void setResizeable(boolean resizeable)
ScreenDockWindowBorder
this
.setResizeable
in interface ScreenDockWindowBorder
resizeable
- whether the window can be resizedpublic boolean isResizeable()
this
border.public void setDrawDividers(boolean drawDividers)
drawDividers
- true
if lines should be paintedpublic boolean isDrawDividers()
true
if lines are paintedpublic void setMoveOnlyOnSameSideAsTitle(boolean moveOnlyOnSameSideAsTitle)
DockTitle
, this property
only has an effect if isResizeable()
is false
.moveOnlyOnSameSideAsTitle
- if the position of the move area should be set automaticallypublic boolean isMoveOnlyOnSameSideAsTitle()
setMoveOnlyOnSameSideAsTitle(boolean)
public void setMouseOver(ScreenDockWindowBorder.Position mouseOver)
ScreenDockWindowBorder
setMouseOver
in interface ScreenDockWindowBorder
mouseOver
- the position, null
equals ScreenDockWindowBorder.Position.NOTHING
public void setMousePressed(ScreenDockWindowBorder.Position mousePressed)
ScreenDockWindowBorder
setMousePressed
in interface ScreenDockWindowBorder
mousePressed
- the position, null
equals ScreenDockWindowBorder.Position.NOTHING
public java.awt.Insets getBorderInsets(java.awt.Component c)
getBorderInsets
in interface javax.swing.border.Border
public boolean isBorderOpaque()
isBorderOpaque
in interface javax.swing.border.Border
public void paintBorder(java.awt.Component c, java.awt.Graphics g, int x, int y, int width, int height)
paintBorder
in interface javax.swing.border.Border
protected java.awt.Color getLine(java.awt.Component c)
c
- the component for which the line is paintednull
protected java.awt.Color getLine(java.awt.Component c, boolean inner, boolean shadow)
c
- the component for which the line is paintedinner
- whether the inner or the outer rectangle is paintedshadow
- whether the shadow or the highlight part is paintednull
protected java.awt.Color getHoverColor(java.awt.Component c)
c
- the component for which the border is paintednull
protected java.awt.Color getHoverColor(java.awt.Component c, boolean inner, boolean shadow)
c
- the component for which the border is paintedinner
- whether the inner or the outer rectangle is paintedshadow
- whether the shadow or the highlight part is paintednull
protected java.awt.Color getSelectedColor(java.awt.Component c)
c
- the component for which the border is paintednull
protected java.awt.Color getSelectedColor(java.awt.Component c, boolean inner, boolean shadow)
c
- the component for which the border is paintedinner
- whether the inner or the outer rectangle is paintedshadow
- whether the shadow or the highlight part is paintednull
protected java.awt.Color getNormalColor(java.awt.Component c)
c
- the component for which the border is paintednull
protected java.awt.Color getNormalColor(java.awt.Component c, boolean inner, boolean shadow)
c
- the component for which the border is paintedinner
- whether the inner or the outer rectangle is paintedshadow
- whether the shadow or the highlight part is paintednull
protected java.awt.Color defaultModify(java.awt.Color color, boolean inner, boolean shadow)
color
- the basic colorinner
- whether the inner or the outer rectangle is paintedshadow
- whether the shadow or the highlight part is painted