Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| org.openide.windows 6.5.22
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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:
  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`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| org.openide.windows 6.5.22
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Built on December 7 2006. | Portions Copyright 1997-2005 Sun Microsystems, Inc. All rights reserved.