org.openide.windows
Class CloneableTopComponent
java.lang.Object
|
+--java.awt.Component
|
+--java.awt.Container
|
+--javax.swing.JComponent
|
+--org.openide.windows.TopComponent
|
+--org.openide.windows.CloneableTopComponent
- All Implemented Interfaces:
- Accessible, Externalizable, ImageObserver, MenuContainer, Serializable, TopComponent.Cloneable
- Direct Known Subclasses:
- CloneableEditor, HtmlBrowser.BrowserComponent
- 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
Methods inherited from class org.openide.windows.TopComponent |
close, close, closeNotify, componentActivated, componentDeactivated, getAccessibleContext, getActivatedNodes, getCloseOperation, getHelpCtx, getIcon, getRegistry, getSystemActions, getUndoRedo, isOpened, isOpened, open, open, openNotify, requestFocus, requestVisible, setActivatedNodes, setCloseOperation, setIcon, setName, writeReplace |
Methods inherited from class javax.swing.JComponent |
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getUIClassID, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI |
Methods inherited from class java.awt.Container |
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree |
Methods inherited from class java.awt.Component |
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, toString, transferFocus |
EMPTY
public static final CloneableTopComponent.Ref EMPTY
- Empty clone-sister list.
CloneableTopComponent
public CloneableTopComponent()
- Create a cloneable top component.
CloneableTopComponent
public CloneableTopComponent(DataObject obj)
- Create a cloneable top component associated with a data object.
- Parameters:
obj
- the data object- See Also:
TopComponent.TopComponent(DataObject)
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
canClose
public boolean canClose(Workspace workspace,
boolean last)
- Called when this component is about to close.
The default implementation just unregisters the clone from its clone list.
If this is the last component in its clone group, then
closeLast()
is called to clean up.
- Overrides:
canClose
in class TopComponent
- Returns:
true
if there are still clone sisters left, or this was the last in its group
but closeLast()
returned true
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
- Following copied from class:
org.openide.windows.TopComponent
- Parameters:
in
- the stream to deserialize from
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
- Following copied from class:
org.openide.windows.TopComponent
- Parameters:
out
- the stream to serialize to
Built on December 12 2001. | Portions Copyright 1997-2001 Sun Microsystems, Inc. All rights reserved.