public class View extends javax.swing.JComponent implements Dockable, DockingConstants
View
class is slightly incompatible with JComponent
.
Similar to JFC/Swing top-level containers, a View
contains only a
content pane Container
and a Titlebar
. The content pane
should contain all the components displayed by the View
. As a
convenience add
and its variants, remove(Component)
and
setLayout
have been overridden to forward to the
contentPane
as necessary. This means you can write:
view.add(child);And the child will be added to the contentPane. The content pane will always be non-null. Attempting to set it to null will cause the View to throw an exception. The default content pane will not have a layout manager set.
JFrame
,
JRootPane
,
Serialized FormModifier and Type | Class and Description |
---|---|
protected class |
View.ViewLayout |
javax.swing.JComponent.AccessibleJComponent
java.awt.Container.AccessibleAWTContainer
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
DockingListener.Stub
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ACTION_TOGGLE_NEXT |
static java.lang.String |
ACTION_TOGGLE_PREVIOUS |
protected java.awt.Container |
contentPane |
protected boolean |
contentPaneCheckingEnabled |
protected java.util.ArrayList |
dockingListeners |
protected java.util.ArrayList |
dragSources |
protected java.util.HashSet |
frameDragSources |
protected Titlebar |
titlepane |
static java.lang.String |
uiClassID |
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
DOCKABLE_INDICATOR
ACTIVE_WINDOW, BOTTOM, CENTER, CENTER_REGION, CLOSE_ACTION, DEFAULT_PERSISTENCE_KEY, DOCKING_ID, EAST_REGION, HEAVYWEIGHT_DOCKABLES, HORIZONTAL, LEFT, MOUSE_PRESSED, NORTH_REGION, PERMANENT_FOCUS_OWNER, PIN_ACTION, REGION, RIGHT, SOUTH_REGION, TOP, UNINITIALIZED, UNINITIALIZED_RATIO, UNKNOWN_REGION, UNSPECIFIED_SIBLING_PREF, VERTICAL, WEST_REGION
Constructor and Description |
---|
View(java.lang.String persistentId) |
View(java.lang.String persistentId,
java.lang.String title) |
View(java.lang.String persistentId,
java.lang.String title,
java.lang.String tabText) |
Modifier and Type | Method and Description |
---|---|
void |
addAction(javax.swing.Action action) |
void |
addAction(java.lang.String action) |
void |
addDockingListener(DockingListener listener) |
protected void |
addImpl(java.awt.Component comp,
java.lang.Object constraints,
int index) |
protected java.awt.Container |
createContentPane() |
protected java.awt.LayoutManager |
createLayout() |
protected Titlebar |
createTitlebar() |
boolean |
dock(Dockable dockable)
Implements the semantics for docking an external
Dockable to this
Dockable and returns a boolean indicating whether or not
the docking operation was successful. |
boolean |
dock(Dockable dockable,
java.lang.String relativeRegion)
Implements the semantics for docking an external
Dockable to the
specified region of this Dockable and returns a boolean
indicating whether or not the docking operation was successful. |
boolean |
dock(Dockable dockable,
java.lang.String relativeRegion,
float ratio)
Implements the semantics for docking an external
Dockable to the
specified region of this Dockable with the specified layout
ratio, returning a boolean indicating whether or not the docking
operation was successful. |
void |
dockingCanceled(DockingEvent evt)
Fired when docking of a
Dockable is canceled during the operation. |
void |
dockingComplete(DockingEvent evt)
Fired when docking of a
Dockable has completed. |
void |
dragStarted(DockingEvent evt)
Fired when the dragging of a
Dockable has begun. |
void |
dropStarted(DockingEvent evt)
Fired when the dropping of a
Dockable has begun at the release
of a drag-operation. |
javax.swing.AbstractButton |
getActionButton(java.lang.String actionName) |
java.awt.Component |
getComponent()
Returns the Component that is to be dragged and docked.
|
java.awt.Container |
getContentPane() |
DockingListener[] |
getDockingListeners() |
DockingPort |
getDockingPort()
Returns the DockingPort within which this Dockable is currently docked.
|
DockablePropertySet |
getDockingProperties()
Returns a
DockablePropertySet instance associated with this
Dockable . |
java.util.List |
getDragSources()
Returns a
List of the Components that are event sources
for drag operations. |
java.util.Set |
getFrameDragSources()
Returns a
Set of the Components that are used as frame
drag sources. |
static View |
getInstance(java.lang.String viewId) |
int |
getMinimizedConstraint() |
java.lang.String |
getPersistentId()
Returns a
String identifier that is unique within a JVM instance,
but persistent across JVM instances. |
protected java.lang.String |
getPreferredTitlebarUIName() |
Dockable |
getSibling(java.lang.String region) |
javax.swing.Icon |
getTabIcon() |
java.lang.String |
getTabText() |
java.lang.String |
getTitle() |
Titlebar |
getTitlebar() |
protected java.awt.Component |
getTitlePane() |
java.lang.String |
getUIClassID() |
Viewport |
getViewport() |
ViewProps |
getViewProperties() |
boolean |
isActionBlocked(java.lang.String actionName) |
boolean |
isActive() |
boolean |
isActiveStateLocked() |
protected boolean |
isContentPaneCheckingEnabled() |
boolean |
isFloating() |
boolean |
isMinimized() |
boolean |
isTerritoryBlocked(Dockable dockable,
java.lang.String region) |
protected java.lang.String |
paramString() |
void |
remove(java.awt.Component comp) |
void |
removeActions() |
void |
removeDockingListener(DockingListener listener) |
void |
setActionBlocked(java.lang.String actionName,
boolean blocked) |
void |
setActive(boolean b) |
void |
setActiveStateLocked(boolean b) |
void |
setContentPane(java.awt.Container c)
Sets the content pane for this view.
|
protected void |
setContentPaneCheckingEnabled(boolean contentPaneCheckingEnabled) |
void |
setIcon(javax.swing.Icon icon) |
void |
setIcon(java.lang.String imgUri) |
void |
setLayout(java.awt.LayoutManager manager)
Sets the
LayoutManager . |
void |
setTabIcon(javax.swing.Icon icon) |
void |
setTabText(java.lang.String tabText) |
void |
setTerritoryBlocked(java.lang.String region,
boolean blocked) |
void |
setTitle(java.lang.String title) |
void |
setTitle(java.lang.String title,
boolean alsoTabText) |
void |
setTitlebar(Titlebar titlebar) |
void |
undockingComplete(DockingEvent evt) |
void |
undockingStarted(DockingEvent evt) |
void |
updateUI() |
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, 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, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, 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, transferFocusBackward, transferFocusUpCycle
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addPropertyChangeListener, getClientProperty, putClientProperty, removePropertyChangeListener
public static final java.lang.String uiClassID
public static final java.lang.String ACTION_TOGGLE_NEXT
public static final java.lang.String ACTION_TOGGLE_PREVIOUS
protected Titlebar titlepane
protected java.awt.Container contentPane
protected boolean contentPaneCheckingEnabled
protected java.util.ArrayList dockingListeners
protected java.util.ArrayList dragSources
protected java.util.HashSet frameDragSources
public View(java.lang.String persistentId)
public View(java.lang.String persistentId, java.lang.String title)
public View(java.lang.String persistentId, java.lang.String title, java.lang.String tabText)
public static View getInstance(java.lang.String viewId)
protected java.awt.Container createContentPane()
protected java.awt.LayoutManager createLayout()
protected Titlebar createTitlebar()
public java.awt.Container getContentPane()
public Titlebar getTitlebar()
public DockablePropertySet getDockingProperties()
Dockable
DockablePropertySet
instance associated with this
Dockable
. Developers implementing the Dockable
interface
may or may not choose to provide their own DockablePropertySet
implementation for use with this method. A default implementation is
supplied by the framework and most Dockable
implementations,
including all implementations provided by the framework, will return the
default DockablePropertySet
via a call to
org.flexdock.docking.props.PropertyManager
. Developers are
encouraged to take advantage of this by calling
PropertyManager.getDockablePropertySet(this)
.getDockingProperties
in interface Dockable
DockablePropertySet
associated with this
Dockable
This method may not return a null
reference.DockablePropertySet
,
PropertyManager.getDockablePropertySet(Dockable)
public ViewProps getViewProperties()
public void addAction(javax.swing.Action action)
public void addAction(java.lang.String action)
public void removeActions()
public void setIcon(javax.swing.Icon icon)
public void setIcon(java.lang.String imgUri)
public void setContentPane(java.awt.Container c) throws java.lang.IllegalArgumentException
c
- the container to use as the content pane.java.lang.IllegalArgumentException
- if c
is null
or if c
is the
titlepane
.titlepane
,
getTitlePane()
protected java.lang.String getPreferredTitlebarUIName()
public void setTitlebar(Titlebar titlebar)
protected java.awt.Component getTitlePane()
public void setTitle(java.lang.String title)
public void setTitle(java.lang.String title, boolean alsoTabText)
public java.lang.String getTitle()
public void updateUI()
updateUI
in class javax.swing.JComponent
public java.lang.String getUIClassID()
getUIClassID
in class javax.swing.JComponent
protected void addImpl(java.awt.Component comp, java.lang.Object constraints, int index)
addImpl
in class java.awt.Container
public void remove(java.awt.Component comp)
remove
in class java.awt.Container
public javax.swing.AbstractButton getActionButton(java.lang.String actionName)
public java.awt.Component getComponent()
Dockable
getDragSources()
.
The framework performs indexing on the underlying Component
.
Consequently, this method may not return a null
reference.
getComponent
in interface Dockable
public java.util.List getDragSources()
Dockable
List
of the Components
that are event sources
for drag operations. The list may or may not include the Component
returned by getComponent()
.getDragSources
in interface Dockable
public java.util.Set getFrameDragSources()
Dockable
Set
of the Components
that are used as frame
drag sources. When a Dockable
is floated into an external frame,
that frame may or may not have a titlebar for repositioning. The
Components returned by this method will be setup with appropriate event
listeners such that dragging them will serve to reposition the containing
frame as if they were the frame titlebar. If a Component exists in both
the Set returned by this method and the List returned by
getDragSources()
, the "frame reposition" behavior will supercede
any "drag-to-dock" behavior while the Dockable is in a floating state.getFrameDragSources
in interface Dockable
public java.lang.String getPersistentId()
Dockable
String
identifier that is unique within a JVM instance,
but persistent across JVM instances. This is used for configuration
mangement, allowing the JVM to recognize a Dockable
instance
within an application instance, persist the ID, and recall it in later
application instances. The ID should be unique within an appliation
instance so that there are no collisions with other Dockable
instances, but it should also be consistent from JVM to JVM so that the
association between a Dockable
instance and its ID can be
remembered from session to session.
The framework performs indexing on the persistent ID. Consequently, this
method may not return a null
reference.
getPersistentId
in interface Dockable
public boolean isTerritoryBlocked(Dockable dockable, java.lang.String region)
public void setTerritoryBlocked(java.lang.String region, boolean blocked)
public java.lang.String getTabText()
public void setTabText(java.lang.String tabText)
public javax.swing.Icon getTabIcon()
public void setTabIcon(javax.swing.Icon icon)
public boolean dock(Dockable dockable)
Dockable
Dockable
to this
Dockable
and returns a boolean
indicating whether or not
the docking operation was successful. The framework already
provides a default implementation for this method through
DockingManager.dock(Dockable dockable, Dockable parent)
. While
users are free to provide their own implementation for this method, the
recommended approach is to use the default implementation with the
following line:
return DockingManager.dock(dockable, this);
dock
in interface Dockable
dockable
- the Dockable
to dock relative to this Dockable
true
if the docking operation was successful;
false
otherwise.Dockable.dock(Dockable, String)
,
Dockable.dock(Dockable, String, float)
,
DockingManager.dock(Dockable, Dockable)
public DockingPort getDockingPort()
Dockable
getDockingPort
in interface Dockable
null
if the
dockable is not currently docked (i.e. in the middle of a drag
operation).public Dockable getSibling(java.lang.String region)
public Viewport getViewport()
public boolean dock(Dockable dockable, java.lang.String relativeRegion)
Dockable
Dockable
to the
specified region of this Dockable
and returns a boolean
indicating whether or not the docking operation was successful. If the
docking operation results in a split layout, this method should determine
an appropriate ratio of available space to allot to the new sibling
Dockable
. The framework already provides a default
implementation for this method through
DockingManager.dock(Dockable dockable, Dockable parent, String region)
.
While users are free to provide their own implementation for this method,
the recommended approach is to use the default implementation with the
following line:
return DockingManager.dock(dockable, this, relativeRegion);
dock
in interface Dockable
dockable
- the Dockable
to dock relative to this Dockable
relativeRegion
- the docking region into which to dock the specified
Dockable
true
if the docking operation was successful;
false
otherwise.Dockable.dock(Dockable, String, float)
,
DockingManager.dock(Dockable, Dockable, String)
public boolean dock(Dockable dockable, java.lang.String relativeRegion, float ratio)
Dockable
Dockable
to the
specified region of this Dockable
with the specified layout
ratio, returning a boolean
indicating whether or not the docking
operation was successful. If the docking operation results in a split
layout, this method should use the specified ratio
to determine
the amount of available space to allot to the new sibling
Dockable
.
The framework already provides a default implementation for this method
through
DockingManager.dock(Dockable dockable, Dockable parent, String region, float proportion)
.
While users are free to provide their own implementation for this method,
the recommended approach is to use the default implementation with the
following line:
return DockingManager.dock(dockable, this, relativeRegion, ratio);
dock
in interface Dockable
dockable
- the Dockable
to dock relative to this Dockable
relativeRegion
- the docking region into which to dock the specified
Dockable
ratio
- the proportion of available space in the resulting layout to
allot to the new sibling Dockable
.true
if the docking operation was successful;
false
otherwise.DockingManager.dock(Dockable, Dockable, String, float)
public void setActive(boolean b)
public boolean isActive()
public void setActiveStateLocked(boolean b)
public boolean isActiveStateLocked()
public boolean isMinimized()
public int getMinimizedConstraint()
public void addDockingListener(DockingListener listener)
addDockingListener
in interface DockingMonitor
public DockingListener[] getDockingListeners()
getDockingListeners
in interface DockingMonitor
public void removeDockingListener(DockingListener listener)
removeDockingListener
in interface DockingMonitor
public void dockingCanceled(DockingEvent evt)
DockingListener
Dockable
is canceled during the operation.dockingCanceled
in interface DockingListener
evt
- the DockingEvent
event which provides the
source Dockable, the old DockingPort and the new DockingPortpublic void dockingComplete(DockingEvent evt)
DockingListener
Dockable
has completed.dockingComplete
in interface DockingListener
evt
- the DockingEvent
event which provides the
source Dockable, the old DockingPort and the new DockingPortpublic void dragStarted(DockingEvent evt)
DockingListener
Dockable
has begun.dragStarted
in interface DockingListener
evt
- the DockingEvent
event which provides the
source Dockable, the old DockingPort and the new DockingPortpublic void dropStarted(DockingEvent evt)
DockingListener
Dockable
has begun at the release
of a drag-operation.dropStarted
in interface DockingListener
evt
- the DockingEvent
event which provides the
source Dockable, the old DockingPort and the new DockingPortpublic void undockingComplete(DockingEvent evt)
undockingComplete
in interface DockingListener
public void undockingStarted(DockingEvent evt)
undockingStarted
in interface DockingListener
public void setActionBlocked(java.lang.String actionName, boolean blocked)
public boolean isActionBlocked(java.lang.String actionName)
public boolean isFloating()
protected java.lang.String paramString()
paramString
in class javax.swing.JComponent
protected boolean isContentPaneCheckingEnabled()
protected void setContentPaneCheckingEnabled(boolean contentPaneCheckingEnabled)
contentPaneCheckingEnabled
- the contentPaneCheckingEnabled to setpublic void setLayout(java.awt.LayoutManager manager)
LayoutManager
. Overridden to conditionally
forward the call to the contentPane
.setLayout
in class java.awt.Container
manager
- the LayoutManager
setContentPaneCheckingEnabled(boolean)