org.flexdock.docking.defaults
public class StandardBorderManager extends java.lang.Object implements BorderManager
BorderManager
interface. It is designed to avoid the negative visual effects caused by
nesting docked components that have individual borders. It accomplishes this
by establishing and maintaining a single border for all docked components
This class encapsulates a javax.swing.border.Border
instance, or a
null
border reference, for application to a
DefaultDockingPort
and its child components. If the
DefaultDockingPort
has no child component, then
managePortNullChild()
will apply the encapsulated border to the
DefaultDockingPort
itself, rendering the visible outline of an empty
DockingPort
. If the DefaultDockingPort
has a generic
Component
as its child, excluding a JTabbedPane
or
JSplitPane
, then the border for that component is set to
null
and the encapsulated border is applied to the
DockingPort
via managePortSimpleChild()
. If the
DefaultDockingPort
has a JTabbedPane
as its child, then a
null
border is set for the JTabbedPane
and all of its child
components, and the encapsulated border is applied to the DockingPort
.
This is accomplished by calling managePortTabbedChild()
. Finally,
managePortSplitChild()
will manage the border for a
DefaultDockingPort
whose docked component is a JSplitPane
.
This method removes all borders from the DefaultDockingPort
and the
split pane divider and applies the encapsulated border to both left and right
child components of the JSplitPane
.Constructor and Description |
---|
StandardBorderManager()
Creates a new
StandardBorderManager with a null assigned
border. |
StandardBorderManager(javax.swing.border.Border border)
Creates a new
StandardBorderManager with the specified assigned
border. |
Modifier and Type | Method and Description |
---|---|
javax.swing.border.Border |
getBorder()
Returns the currently assigned border.
|
void |
managePortNullChild(DockingPort port)
Set the border on the supplied
DockingPort to the currently
assigned border. |
void |
managePortSimpleChild(DockingPort port)
Removes any border from the
DockingPort's docked component and
set the border on the DockingPort itself to the currently
assigned border. |
void |
managePortSplitChild(DockingPort port)
Removes any border from the
DockingPort itself and places the
currently assigned border on the two child components of the
DockingPort's</code JSplitPane child. |
void |
managePortTabbedChild(DockingPort port)
Removes any border from the
DockingPort's docked
JTabbedPane component and sets the border on the
DockingPort itself to the currently assigned border. |
void |
setBorder(javax.swing.border.Border border)
Sets the assigned border.
|
public StandardBorderManager()
StandardBorderManager
with a null
assigned
border.public StandardBorderManager(javax.swing.border.Border border)
StandardBorderManager
with the specified assigned
border.border
- the currently assigned border.public javax.swing.border.Border getBorder()
public void setBorder(javax.swing.border.Border border)
border
- the assigned border.public void managePortNullChild(DockingPort port)
DockingPort
to the currently
assigned border.managePortNullChild
in interface BorderManager
port
- the DockingPort
whose layout borders are to be managedBorderManager.managePortNullChild(DockingPort)
public void managePortSimpleChild(DockingPort port)
DockingPort's
docked component and
set the border on the DockingPort
itself to the currently
assigned border.managePortSimpleChild
in interface BorderManager
port
- the DockingPort
whose layout borders are to be managedBorderManager.managePortSimpleChild(DockingPort)
public void managePortSplitChild(DockingPort port)
DockingPort
itself and places the
currently assigned border on the two child components of the
DockingPort's</code JSplitPane
child.managePortSplitChild
in interface BorderManager
port
- the DockingPort
whose layout borders are to be managedBorderManager.managePortSplitChild(DockingPort)
public void managePortTabbedChild(DockingPort port)
DockingPort's
docked
JTabbedPane
component and sets the border on the
DockingPort
itself to the currently assigned border.managePortTabbedChild
in interface BorderManager
port
- the DockingPort
whose layout borders are to be managedBorderManager.managePortTabbedChild(DockingPort)