org.openide.windows 6.5.22

org.openide.windows
Class CloneableTopComponent

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by org.openide.windows.TopComponent
                  extended by org.openide.windows.CloneableTopComponent
All Implemented Interfaces:
ImageObserver, MenuContainer, Externalizable, Serializable, Accessible, HelpCtx.Provider, Lookup.Provider, TopComponent.Cloneable

public abstract class CloneableTopComponent
extends TopComponent
implements Externalizable, TopComponent.Cloneable

A top component which may be cloned. Typically cloning is harmless, i.e. the data contents (if any) of the component are the same, and the new component is merely a different presentation. Also, a list of all cloned components is kept.

See Also:
Serialized Form

Nested Class Summary
static class CloneableTopComponent.Ref
          Keeps track of a group of sister clones.
 
Nested classes/interfaces inherited from class org.openide.windows.TopComponent
TopComponent.Cloneable, TopComponent.NodeName, TopComponent.Registry
 
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
 
Field Summary
static CloneableTopComponent.Ref EMPTY
          Empty clone-sister list.
 
Fields inherited from class org.openide.windows.TopComponent
CLOSE_EACH, CLOSE_LAST, PERSISTENCE_ALWAYS, PERSISTENCE_NEVER, PERSISTENCE_ONLY_OPENED
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
CloneableTopComponent()
          Create a cloneable top component.
 
Method Summary
 boolean canClose()
          Unregisters this component from its clone list.
 boolean canClose(Workspace workspace, boolean last)
          This method is called when top component is about to close.
 Object clone()
          Clone the top component and register the clone.
 TopComponent cloneComponent()
          Clone the top component and register the clone.
 CloneableTopComponent cloneTopComponent()
          Clone the top component and register the clone.
protected  boolean closeLast()
          Called when the last component in a clone group is closing.
protected  void componentClosed()
          Overrides superclass method, adds unregistering from references.
protected  CloneableTopComponent createClonedObject()
          Called from clone() to actually create a new component from this one.
 CloneableTopComponent.Ref getReference()
          Get a list of all components which are clone-sisters of this one.
 void readExternal(ObjectInput oi)
          Deserialize this top component.
 void setReference(CloneableTopComponent.Ref another)
          Changes the reference to which this components belongs.
 void writeExternal(ObjectOutput oo)
          Serialize this top component.
 
Methods inherited from class org.openide.windows.TopComponent
associateLookup, availableModes, cancelRequestAttention, close, close, closeNotify, componentActivated, componentDeactivated, componentHidden, componentOpened, componentShowing, getAccessibleContext, getActions, getActivatedNodes, getCloseOperation, getDisplayName, getHelpCtx, getHtmlDisplayName, getIcon, getLookup, getPersistenceType, getRegistry, getSystemActions, getUndoRedo, isOpened, isOpened, open, open, openNotify, preferredID, processKeyBinding, requestActive, requestAttention, requestFocus, requestFocusInWindow, requestVisible, setActivatedNodes, setCloseOperation, setDisplayName, setHtmlDisplayName, setIcon, setName, setToolTipText, toFront, writeReplace
 
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, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, 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, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, 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, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, 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, 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, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

EMPTY

public static final CloneableTopComponent.Ref EMPTY
Empty clone-sister list.

Constructor Detail

CloneableTopComponent

public CloneableTopComponent()
Create a cloneable top component.

Method Detail

clone

public final Object clone()
Clone the top component and register the clone.

Overrides:
clone in class Object
Returns:
the new component

cloneTopComponent

public final CloneableTopComponent cloneTopComponent()
Clone the top component and register the clone. Simply calls createClonedObject () and registers the component to Ref.

Returns:
the new cloneable top component

cloneComponent

public final TopComponent cloneComponent()
Clone the top component and register the clone.

Specified by:
cloneComponent in interface TopComponent.Cloneable
Returns:
the new component

createClonedObject

protected CloneableTopComponent createClonedObject()
Called from clone() to actually create a new component from this one. The default implementation only clones the object by calling Object.clone(). Subclasses may leave this as is, assuming they have no special needs for the cloned data besides copying it from one object to the other. If they do, the superclass method should be called, and the returned object modified appropriately.

Returns:
a copy of this object

getReference

public final CloneableTopComponent.Ref getReference()
Get a list of all components which are clone-sisters of this one.

Returns:
the clone registry for this component's group

setReference

public final void setReference(CloneableTopComponent.Ref another)
Changes the reference to which this components belongs.

Parameters:
another - the new reference this component should belong

componentClosed

protected void componentClosed()
Overrides superclass method, adds unregistering from references.

Overrides:
componentClosed in class TopComponent
See Also:
CloneableTopComponent.Ref

canClose

public boolean canClose()
Unregisters this component from its clone list. This method is called when this TopComponent is about to close. Allows subclasses to decide if TopComponent is ready to close.

Overrides:
canClose in class TopComponent

canClose

public boolean canClose(Workspace workspace,
                        boolean last)
Description copied from class: TopComponent
This method is called when top component is about to close. Allows subclasses to decide if top component is ready for closing or not.
Default implementation always return true.

Overrides:
canClose in class TopComponent
Parameters:
workspace - the workspace on which we are about to close or null which means that component will be closed on all workspaces where it is opened (CLOSE_EACH mode)
last - true if this is last workspace where top component is opened, false otherwise. If close operation is set to CLOSE_EACH, then this param is always true
Returns:
true if top component is ready to close, false otherwise.

closeLast

protected boolean closeLast()
Called when the last component in a clone group is closing. The default implementation just returns true. Subclasses may specify some hooks to run.

Returns:
true if the component is ready to be closed, false to cancel

readExternal

public void readExternal(ObjectInput oi)
                  throws IOException,
                         ClassNotFoundException
Description copied from class: TopComponent
Deserialize this top component. Subclasses wishing to store state must call the super method, then read from the stream.

Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class TopComponent
Parameters:
oi - the stream to deserialize from
Throws:
IOException
ClassNotFoundException

writeExternal

public void writeExternal(ObjectOutput oo)
                   throws IOException
Description copied from class: TopComponent
Serialize this top component. Subclasses wishing to store state must call the super method, then write to the stream.

Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class TopComponent
Parameters:
oo - the stream to serialize to
Throws:
IOException

org.openide.windows 6.5.22

Built on July 11 2007.  |  Portions Copyright 1997-2005 Sun Microsystems, Inc. All rights reserved.