Class View
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,EventListener
,Dockable
,DockingConstants
,DockingListener
,DockingMonitor
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.
- Author:
- Christopher Butler, Karl Schaefer
- See Also:
-
Nested Class Summary
Nested ClassesNested 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.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Nested classes/interfaces inherited from interface org.flexdock.docking.event.DockingListener
DockingListener.Stub
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
static final String
protected Container
protected boolean
protected ArrayList
protected ArrayList
protected HashSet
protected Titlebar
static final String
Fields inherited from class javax.swing.JComponent
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
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface org.flexdock.docking.Dockable
DOCKABLE_INDICATOR
Fields inherited from interface org.flexdock.docking.DockingConstants
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
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
void
addDockingListener
(DockingListener listener) protected void
protected Container
protected LayoutManager
protected Titlebar
boolean
Implements the semantics for docking an externalDockable
to thisDockable
and returns aboolean
indicating whether or not the docking operation was successful.boolean
Implements the semantics for docking an externalDockable
to the specified region of thisDockable
and returns aboolean
indicating whether or not the docking operation was successful.boolean
Implements the semantics for docking an externalDockable
to the specified region of thisDockable
with the specified layout ratio, returning aboolean
indicating whether or not the docking operation was successful.void
Fired when docking of aDockable
is canceled during the operation.void
Fired when docking of aDockable
has completed.void
dragStarted
(DockingEvent evt) Fired when the dragging of aDockable
has begun.void
dropStarted
(DockingEvent evt) Fired when the dropping of aDockable
has begun at the release of a drag-operation.getActionButton
(String actionName) Returns the Component that is to be dragged and docked.Returns the DockingPort within which this Dockable is currently docked.Returns aDockablePropertySet
instance associated with thisDockable
.Returns aList
of theComponents
that are event sources for drag operations.Returns aSet
of theComponents
that are used as frame drag sources.static View
getInstance
(String viewId) int
Returns aString
identifier that is unique within a JVM instance, but persistent across JVM instances.protected String
getSibling
(String region) getTitle()
protected Component
boolean
isActionBlocked
(String actionName) boolean
isActive()
boolean
protected boolean
boolean
boolean
boolean
isTerritoryBlocked
(Dockable dockable, String region) protected String
void
void
void
removeDockingListener
(DockingListener listener) void
setActionBlocked
(String actionName, boolean blocked) void
setActive
(boolean b) void
setActiveStateLocked
(boolean b) void
Sets the content pane for this view.protected void
setContentPaneCheckingEnabled
(boolean contentPaneCheckingEnabled) void
void
void
setLayout
(LayoutManager manager) Sets theLayoutManager
.void
setTabIcon
(Icon icon) void
setTabText
(String tabText) void
setTerritoryBlocked
(String region, boolean blocked) void
void
void
setTitlebar
(Titlebar titlebar) void
void
void
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, 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, getUI, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, 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
Methods inherited from class java.awt.Container
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
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, getAccessibleContext, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.flexdock.docking.Dockable
addPropertyChangeListener, getClientProperty, putClientProperty, removePropertyChangeListener
-
Field Details
-
uiClassID
- See Also:
-
ACTION_TOGGLE_NEXT
- See Also:
-
ACTION_TOGGLE_PREVIOUS
- See Also:
-
titlepane
-
contentPane
-
contentPaneCheckingEnabled
protected boolean contentPaneCheckingEnabled -
dockingListeners
-
dragSources
-
frameDragSources
-
-
Constructor Details
-
View
-
View
-
View
-
-
Method Details
-
getInstance
-
createContentPane
-
createLayout
-
createTitlebar
-
getContentPane
-
getTitlebar
-
getDockingProperties
Description copied from interface:Dockable
Returns aDockablePropertySet
instance associated with thisDockable
. Developers implementing theDockable
interface may or may not choose to provide their ownDockablePropertySet
implementation for use with this method. A default implementation is supplied by the framework and mostDockable
implementations, including all implementations provided by the framework, will return the defaultDockablePropertySet
via a call toorg.flexdock.docking.props.PropertyManager
. Developers are encouraged to take advantage of this by callingPropertyManager.getDockablePropertySet(this)
.- Specified by:
getDockingProperties
in interfaceDockable
- Returns:
- the
DockablePropertySet
associated with thisDockable
This method may not return anull
reference. - See Also:
-
getViewProperties
-
addAction
-
addAction
-
removeActions
public void removeActions() -
setIcon
-
setIcon
-
setContentPane
Sets the content pane for this view.- Parameters:
c
- the container to use as the content pane.- Throws:
IllegalArgumentException
- ifc
isnull
or ifc
is thetitlepane
.- See Also:
-
getPreferredTitlebarUIName
-
setTitlebar
-
getTitlePane
-
setTitle
-
setTitle
-
getTitle
-
updateUI
public void updateUI()- Overrides:
updateUI
in classJComponent
-
getUIClassID
- Overrides:
getUIClassID
in classJComponent
-
addImpl
-
remove
-
getActionButton
-
getComponent
Description copied from interface:Dockable
Returns the Component that is to be dragged and docked. This may or may not be included in the list returned bygetDragSources()
.The framework performs indexing on the underlying
Component
. Consequently, this method may not return anull
reference.- Specified by:
getComponent
in interfaceDockable
- Returns:
- the component wrapped by this dockable.
-
getDragSources
Description copied from interface:Dockable
Returns aList
of theComponents
that are event sources for drag operations. The list may or may not include the Component returned bygetComponent()
.- Specified by:
getDragSources
in interfaceDockable
- Returns:
- a list containing the components that may be used to drag this dockable.
-
getFrameDragSources
Description copied from interface:Dockable
Returns aSet
of theComponents
that are used as frame drag sources. When aDockable
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 bygetDragSources()
, the "frame reposition" behavior will supercede any "drag-to-dock" behavior while the Dockable is in a floating state.- Specified by:
getFrameDragSources
in interfaceDockable
- Returns:
- a set containing the components that may be used to drag the frame this dockable resides in, if the dockable is floating.
-
getPersistentId
Description copied from interface:Dockable
Returns aString
identifier that is unique within a JVM instance, but persistent across JVM instances. This is used for configuration mangement, allowing the JVM to recognize aDockable
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 otherDockable
instances, but it should also be consistent from JVM to JVM so that the association between aDockable
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.- Specified by:
getPersistentId
in interfaceDockable
- Returns:
- the persistence id for this dockable. This id ensures that only one copy of a given dockable will exist.
-
isTerritoryBlocked
-
setTerritoryBlocked
-
getTabText
-
setTabText
-
getTabIcon
-
setTabIcon
-
dock
Description copied from interface:Dockable
Implements the semantics for docking an externalDockable
to thisDockable
and returns aboolean
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);
-
getDockingPort
Description copied from interface:Dockable
Returns the DockingPort within which this Dockable is currently docked. If not currently docked, this method will return null.- Specified by:
getDockingPort
in interfaceDockable
- Returns:
- the docking port this dockable resides in, or
null
if the dockable is not currently docked (i.e. in the middle of a drag operation).
-
getSibling
-
getViewport
-
dock
Description copied from interface:Dockable
Implements the semantics for docking an externalDockable
to the specified region of thisDockable
and returns aboolean
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 siblingDockable
.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
Description copied from interface:Dockable
Implements the semantics for docking an externalDockable
to the specified region of thisDockable
with the specified layout ratio, returning aboolean
indicating whether or not the docking operation was successful. If the docking operation results in a split layout, this method should use the specifiedratio
to determine the amount of available space to allot to the new siblingDockable
.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);
- Specified by:
dock
in interfaceDockable
- Parameters:
dockable
- theDockable
to dock relative to thisDockable
relativeRegion
- the docking region into which to dock the specifiedDockable
ratio
- the proportion of available space in the resulting layout to allot to the new siblingDockable
.- Returns:
true
if the docking operation was successful;false
otherwise.- See Also:
-
setActive
public void setActive(boolean b) -
isActive
public boolean isActive() -
setActiveStateLocked
public void setActiveStateLocked(boolean b) -
isActiveStateLocked
public boolean isActiveStateLocked() -
isMinimized
public boolean isMinimized() -
getMinimizedConstraint
public int getMinimizedConstraint() -
addDockingListener
- Specified by:
addDockingListener
in interfaceDockingMonitor
-
getDockingListeners
- Specified by:
getDockingListeners
in interfaceDockingMonitor
-
removeDockingListener
- Specified by:
removeDockingListener
in interfaceDockingMonitor
-
dockingCanceled
Description copied from interface:DockingListener
Fired when docking of aDockable
is canceled during the operation.- Specified by:
dockingCanceled
in interfaceDockingListener
- Parameters:
evt
- theDockingEvent
event which provides the source Dockable, the old DockingPort and the new DockingPort
-
dockingComplete
Description copied from interface:DockingListener
Fired when docking of aDockable
has completed.- Specified by:
dockingComplete
in interfaceDockingListener
- Parameters:
evt
- theDockingEvent
event which provides the source Dockable, the old DockingPort and the new DockingPort
-
dragStarted
Description copied from interface:DockingListener
Fired when the dragging of aDockable
has begun.- Specified by:
dragStarted
in interfaceDockingListener
- Parameters:
evt
- theDockingEvent
event which provides the source Dockable, the old DockingPort and the new DockingPort
-
dropStarted
Description copied from interface:DockingListener
Fired when the dropping of aDockable
has begun at the release of a drag-operation.- Specified by:
dropStarted
in interfaceDockingListener
- Parameters:
evt
- theDockingEvent
event which provides the source Dockable, the old DockingPort and the new DockingPort
-
undockingComplete
- Specified by:
undockingComplete
in interfaceDockingListener
-
undockingStarted
- Specified by:
undockingStarted
in interfaceDockingListener
-
setActionBlocked
-
isActionBlocked
-
isFloating
public boolean isFloating() -
paramString
- Overrides:
paramString
in classJComponent
-
isContentPaneCheckingEnabled
protected boolean isContentPaneCheckingEnabled()- Returns:
- the contentPaneCheckingEnabled
-
setContentPaneCheckingEnabled
protected void setContentPaneCheckingEnabled(boolean contentPaneCheckingEnabled) - Parameters:
contentPaneCheckingEnabled
- the contentPaneCheckingEnabled to set
-
setLayout
Sets theLayoutManager
. Overridden to conditionally forward the call to thecontentPane
.
-