chrriis.dj.nativeswing.swtimpl
Class NSPanelComponent

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by chrriis.dj.nativeswing.swtimpl.NSPanelComponent
All Implemented Interfaces:
NSComponent, ImageObserver, MenuContainer, Serializable, Accessible
Direct Known Subclasses:
JFlashPlayer, JHTMLEditor, JSyntaxHighlighter, JVLCPlayer, JWebBrowser, JWMediaPlayer

public abstract class NSPanelComponent
extends JPanel
implements NSComponent

A convenience Swing component superclass, for Swing wrappers of native components.

Author:
Christopher Deckers
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
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.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
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
NSPanelComponent()
          Construct an NativeSwing panel-based component, which by default has a border layout with no margins.
 
Method Summary
static NSOption constrainVisibility()
          Create an option to apply visibility constraints to the component, which allows mixing lightweight and heavyweight components to a certain extent.
static NSOption destroyOnFinalization()
          Create an option to defer the destruction of the component until finalization or explicit disposal, rather than when the component is removed from its component tree.
 void disposeNativePeer()
          Explicitely dispose the native resources.
 NativeComponent getNativeComponent()
          Get the native component.
protected  void initialize(NativeComponent nativeComponent)
          Initialize this class with its native component.
 void initializeNativePeer()
          Force the native peer to initialize.
 boolean isNativePeerDisposed()
          Indicate whether the native peer is disposed.
 boolean isNativePeerInitialized()
          Indicate whether the native peer initialization phase has happened.
 boolean isNativePeerValid()
          Indicate if the native peer is valid, which means initialized, not disposed, and with a communication channel alive.
static NSOption proxyComponentHierarchy()
          Create an option to proxy the component hierarchy, which allows to change the component Z-order.
 void runInSequence(Runnable runnable)
          Run a command in sequence with other method calls from this class.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, 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, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NSPanelComponent

public NSPanelComponent()
Construct an NativeSwing panel-based component, which by default has a border layout with no margins.

Method Detail

destroyOnFinalization

public static NSOption destroyOnFinalization()
Create an option to defer the destruction of the component until finalization or explicit disposal, rather than when the component is removed from its component tree. This options activates the component hierarchy proxying option.

Returns:
the option to destroy on finalization.

proxyComponentHierarchy

public static NSOption proxyComponentHierarchy()
Create an option to proxy the component hierarchy, which allows to change the component Z-order.

Returns:
the option to proxy the component hierarchy.

constrainVisibility

public static NSOption constrainVisibility()
Create an option to apply visibility constraints to the component, which allows mixing lightweight and heavyweight components to a certain extent.

Returns:
the option to constrain the visibility.

initialize

protected void initialize(NativeComponent nativeComponent)
Initialize this class with its native component.

Parameters:
nativeComponent - the native component that this component relates to.

initializeNativePeer

public void initializeNativePeer()
Description copied from interface: NSComponent
Force the native peer to initialize. All method calls will then be synchronous instead of being queued waiting for the componant to be initialized. This call fails if the component is not in a component hierarchy with a Window ancestor.

Specified by:
initializeNativePeer in interface NSComponent

disposeNativePeer

public void disposeNativePeer()
Description copied from interface: NSComponent
Explicitely dispose the native resources. This is particularly useful if deferred destruction is used (cf native component options) and the component is not going to be used anymore.

Specified by:
disposeNativePeer in interface NSComponent

isNativePeerDisposed

public boolean isNativePeerDisposed()
Description copied from interface: NSComponent
Indicate whether the native peer is disposed.

Specified by:
isNativePeerDisposed in interface NSComponent
Returns:
true if the native peer is disposed. This method returns false if the native peer is not initialized.

isNativePeerInitialized

public boolean isNativePeerInitialized()
Description copied from interface: NSComponent
Indicate whether the native peer initialization phase has happened. This method returns true even if the native peer is disposed of if the creation of the peer failed.

Specified by:
isNativePeerInitialized in interface NSComponent
Returns:
true if the native peer is initialized.

isNativePeerValid

public boolean isNativePeerValid()
Description copied from interface: NSComponent
Indicate if the native peer is valid, which means initialized, not disposed, and with a communication channel alive.

Specified by:
isNativePeerValid in interface NSComponent
Returns:
true if the native peer is valid.

runInSequence

public void runInSequence(Runnable runnable)
Description copied from interface: NSComponent
Run a command in sequence with other method calls from this class. Calls are performed only when the native peer is initialized, and this method adds the command to the queue of calls in case it is not.

Specified by:
runInSequence in interface NSComponent
Parameters:
runnable - the command to run in sequence with other method calls.

getNativeComponent

public NativeComponent getNativeComponent()
Get the native component.

Returns:
the native component.