com.orsoncharts

## Class Chart3DPanel

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JPanel
        - - com.orsoncharts.graphics3d.swing.Panel3D
          - - com.orsoncharts.Chart3DPanel

- All Implemented Interfaces:
    Chart3DChangeListener, java.awt.event.ComponentListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

      public class Chart3DPanel
      extends Panel3D
      implements Chart3DChangeListener, java.awt.event.ComponentListener

  A panel designed to display a `Chart3D` in a Swing-based desktop application. The panel registers with the chart to receive change notifications, and when these are received the chart is automatically repainted.
  This panel will display the chart, but does not include additional features such as the view toolbar and popup menu (these are provided by the `DisplayPanel3D` class).
  NOTE: This class is serializable, but the serialization format is subject to change in future releases and should not be relied upon for persisting instances of this class.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javax.swing.JPanel

      `javax.swing.JPanel.AccessibleJPanel`

    - ### Nested classes/interfaces inherited from class javax.swing.JComponent

      `javax.swing.JComponent.AccessibleJComponent`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `java.awt.Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class java.awt.Component

      `java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

  - ### Field Summary

    - ### 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 java.awt.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Chart3DPanel(Chart3D chart)` Creates a new chart panel to display the specified chart.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addChartMouseListener(Chart3DMouseListener listener)` Adds a listener to the list of objects listening for chart mouse events.
    `void` | `chartChanged(Chart3DChangeEvent event)` Receives notification when the chart has been modified, and responds by completely repainting the panel and chart.
    `void` | `componentHidden(java.awt.event.ComponentEvent e)`
    `void` | `componentMoved(java.awt.event.ComponentEvent e)`
    `void` | `componentResized(java.awt.event.ComponentEvent e)`
    `void` | `componentShown(java.awt.event.ComponentEvent e)`
    `Chart3D` | `getChart()` Returns the chart being displayed in this panel.
    `java.util.EventListener[]` | `getListeners(java.lang.Class listenerType)` Returns an array of the listeners of the given type registered with the panel.
    `java.lang.String` | `getToolTipText(java.awt.event.MouseEvent e)`
    `void` | `mouseClicked(java.awt.event.MouseEvent e)` Receives a mouse event and passes it on to registered `Chart3DMouseListener`s along with the underlying rendered element if any.
    `void` | `mouseMoved(java.awt.event.MouseEvent e)` Receives a mouse event and passes it on to registered `Chart3DMouseListener`s along with the underlying rendered element if any.
    `void` | `removeChartMouseListener(Chart3DMouseListener listener)` Removes a listener from the list of objects listening for chart mouse events.

    - ### Methods inherited from class com.orsoncharts.graphics3d.swing.Panel3D

      `getDrawable, getLastClickPoint, getMargin, getMaxViewingDistanceMultiplier, getMinViewingDistance, getPanIncrement, getRenderingInfo, getRollIncrement, getRotateIncrement, getViewPoint, mouseDragged, mouseEntered, mouseExited, mousePressed, mouseReleased, mouseWheelMoved, paintComponent, panLeftRight, registerForTooltips, setMargin, setMaxViewingDistanceMultiplier, setPanIncrement, setRollIncrement, setRotateIncrement, setViewPoint, unregisterForTooltips, zoomToFit, zoomToFit`

    - ### 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, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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, 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, 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, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Chart3DPanel

          public Chart3DPanel(Chart3D chart)

      Creates a new chart panel to display the specified chart.
      Parameters:
        `chart` - the chart.

  - ### Method Detail

    - #### getChart

          public Chart3D getChart()

      Returns the chart being displayed in this panel.
      Returns:
        The chart (never `null`).
      Since:
        1.3

    - #### chartChanged

          public void chartChanged(Chart3DChangeEvent event)

      Receives notification when the chart has been modified, and responds by completely repainting the panel and chart.
      Specified by:
        `chartChanged` in interface `Chart3DChangeListener`
      Parameters:
        `event` - the event.

    - #### componentResized

          public void componentResized(java.awt.event.ComponentEvent e)

      Specified by:
        `componentResized` in interface `java.awt.event.ComponentListener`

    - #### componentMoved

          public void componentMoved(java.awt.event.ComponentEvent e)

      Specified by:
        `componentMoved` in interface `java.awt.event.ComponentListener`

    - #### componentShown

          public void componentShown(java.awt.event.ComponentEvent e)

      Specified by:
        `componentShown` in interface `java.awt.event.ComponentListener`

    - #### componentHidden

          public void componentHidden(java.awt.event.ComponentEvent e)

      Specified by:
        `componentHidden` in interface `java.awt.event.ComponentListener`

    - #### getToolTipText

          public java.lang.String getToolTipText(java.awt.event.MouseEvent e)

      Overrides:
        `getToolTipText` in class `javax.swing.JComponent`

    - #### mouseClicked

          public void mouseClicked(java.awt.event.MouseEvent e)

      Receives a mouse event and passes it on to registered `Chart3DMouseListener`s along with the underlying rendered element if any.
      Specified by:
        `mouseClicked` in interface `java.awt.event.MouseListener`
      Overrides:
        `mouseClicked` in class `Panel3D`
      Parameters:
        `e` - the mouse event.

    - #### mouseMoved

          public void mouseMoved(java.awt.event.MouseEvent e)

      Receives a mouse event and passes it on to registered `Chart3DMouseListener`s along with the underlying rendered element if any.
      Specified by:
        `mouseMoved` in interface `java.awt.event.MouseMotionListener`
      Overrides:
        `mouseMoved` in class `Panel3D`
      Parameters:
        `e` - the mouse event.

    - #### addChartMouseListener

          public void addChartMouseListener(Chart3DMouseListener listener)

      Adds a listener to the list of objects listening for chart mouse events.
      Parameters:
        `listener` - the listener (`null` not permitted).
      Since:
        1.3

    - #### removeChartMouseListener

          public void removeChartMouseListener(Chart3DMouseListener listener)

      Removes a listener from the list of objects listening for chart mouse events.
      Parameters:
        `listener` - the listener (`null` not permitted).
      Since:
        1.3

    - #### getListeners

          public java.util.EventListener[] getListeners(java.lang.Class listenerType)

      Returns an array of the listeners of the given type registered with the panel.
      Overrides:
        `getListeners` in class `javax.swing.JComponent`
      Parameters:
        `listenerType` - the listener type.
      Returns:
        An array of listeners.