java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.jfree.chart3d.graphics3d.swing.Panel3D
- All Implemented Interfaces:
MouseListener,MouseMotionListener,MouseWheelListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible
- Direct Known Subclasses:
Chart3DPanel
public class Panel3D
extends JPanel
implements MouseListener, MouseMotionListener, MouseWheelListener
A panel that displays a set of 3D objects from a particular viewing point.
The view point is maintained by the
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.
Drawable3D but the panel
provides convenience methods to get/set it.
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:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested 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
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionPanel3D(Drawable3D drawable) Creates a new panel with the specifiedDrawable3Dto display. -
Method Summary
Modifier and TypeMethodDescriptionReturns theDrawable3Dobject that is displayed in this panel.protected PointReturns the last click point (possiblynull).doubleReturns the margin, expressed as a percentage, that controls the amount of space to leave around the edges of the 3D content when thezoomToFit()method is called.doubleReturns the multiplier for the maximum viewing distance (a multiple of the minimum viewing distance).doubleReturns the minimum viewing distance.doubleReturns the angle delta for each pan left or right.protected RenderingInfoReturns the rendering info from the previous call to draw().doubleReturns the angle delta for each roll operation.doubleReturns the angle delta for each rotate up or down.Returns the view point that is maintained by theDrawable3Dinstance on display.voidvoidvoidvoidvoidvoidvoidvoidReceives notification of a mouse wheel movement and responds by moving the viewpoint in or out (zooming).voidPaints the panel by asking the drawable to render a 2D projection of the objects it is managing.voidpanLeftRight(double angle) Rotates the view point around from left to right by the specified angle and repaints the 3D scene.voidRegisters this component with the tool tip manager.voidsetMargin(double margin) Sets the margin that controls the amount of space to leave around the edges of the 3D content when thezoomToFit()method is called.voidsetMaxViewingDistanceMultiplier(double multiplier) Sets the multiplier used to calculate the maximum viewing distance.voidsetPanIncrement(double panIncrement) Sets the standard increment for panning left and right (a rotation specified in radians).voidsetRollIncrement(double rollIncrement) Sets the roll increment in radians.voidsetRotateIncrement(double rotateIncrement) Sets the vertical (up and down) rotation increment (in radians).voidSets a new view point and repaints the panel.voidUnregisters this component with the tool tip manager.voidAdjusts the viewing distance so that the chart fits the current panel size.voidzoomToFit(Dimension2D size) Adjusts the viewing distance so that the chart fits the specified size.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, 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, updateMethods 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, validateTreeMethods 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
Panel3D
Creates a new panel with the specifiedDrawable3Dto display.- Parameters:
drawable- the content to display (nullnot permitted).
-
-
Method Details
-
getDrawable
Returns theDrawable3Dobject that is displayed in this panel. This is specified via the panel constructor and there is no setter method to change it.- Returns:
- The
Drawable3Dobject (nevernull).
-
getMargin
Returns the margin, expressed as a percentage, that controls the amount of space to leave around the edges of the 3D content when thezoomToFit()method is called. The default value is0.25(25 percent).- Returns:
- The margin.
-
setMargin
Sets the margin that controls the amount of space to leave around the edges of the 3D content when thezoomToFit()method is called.- Parameters:
margin- the margin (as a percentage, where 0.25 = 25 percent).
-
getMinViewingDistance
Returns the minimum viewing distance. Zooming by mouse wheel or other means will not move the viewing point closer than this. The value is computed in the constructor from the dimensions of the drawable object.- Returns:
- The minimum viewing distance.
-
getMaxViewingDistanceMultiplier
Returns the multiplier for the maximum viewing distance (a multiple of the minimum viewing distance). The default value is8.0.- Returns:
- The multiplier.
- Since:
- 1.3
-
setMaxViewingDistanceMultiplier
Sets the multiplier used to calculate the maximum viewing distance.- Parameters:
multiplier- the new multiplier.- Since:
- 1.3
-
getPanIncrement
Returns the angle delta for each pan left or right. The default value isMath.PI / 60.- Returns:
- The angle delta (in radians).
-
setPanIncrement
Sets the standard increment for panning left and right (a rotation specified in radians).- Parameters:
panIncrement- the increment (in radians).
-
getRotateIncrement
Returns the angle delta for each rotate up or down. The default value isMath.PI / 60.- Returns:
- The angle delta (in radians).
-
setRotateIncrement
Sets the vertical (up and down) rotation increment (in radians).- Parameters:
rotateIncrement- the increment (in radians).
-
getRollIncrement
Returns the angle delta for each roll operation. The default value isMath.PI / 60.- Returns:
- The angle delta (in radians).
-
setRollIncrement
Sets the roll increment in radians.- Parameters:
rollIncrement- the increment (in radians).
-
getViewPoint
Returns the view point that is maintained by theDrawable3Dinstance on display.- Returns:
- The view point (never
null).
-
setViewPoint
Sets a new view point and repaints the panel.- Parameters:
vp- the view point (nullnot permitted).
-
getLastClickPoint
Returns the last click point (possiblynull).- Returns:
- The last click point (possibly
null).
-
getRenderingInfo
Returns the rendering info from the previous call to draw().- Returns:
- The rendering info (possibly
null).
-
panLeftRight
Rotates the view point around from left to right by the specified angle and repaints the 3D scene. The direction relative to the world coordinates depends on the orientation of the view point.- Parameters:
angle- the angle of rotation (in radians).
-
zoomToFit
Adjusts the viewing distance so that the chart fits the current panel size. A margin is left (seegetMargin()around the edges to leave room for labels etc. -
zoomToFit
Adjusts the viewing distance so that the chart fits the specified size. A margin is left (seegetMargin()around the edges to leave room for labels etc.- Parameters:
size- the target size (nullnot permitted).
-
paintComponent
Paints the panel by asking the drawable to render a 2D projection of the objects it is managing.- Overrides:
paintComponentin classJComponent- Parameters:
g- the graphics target (nullnot permitted, assumed to be an instance ofGraphics2D).
-
registerForTooltips
Registers this component with the tool tip manager.- Since:
- 1.3
-
unregisterForTooltips
Unregisters this component with the tool tip manager.- Since:
- 1.3
-
mouseClicked
- Specified by:
mouseClickedin interfaceMouseListener
-
mouseEntered
- Specified by:
mouseEnteredin interfaceMouseListener
-
mouseExited
- Specified by:
mouseExitedin interfaceMouseListener
-
mousePressed
- Specified by:
mousePressedin interfaceMouseListener
-
mouseReleased
- Specified by:
mouseReleasedin interfaceMouseListener
-
mouseDragged
- Specified by:
mouseDraggedin interfaceMouseMotionListener
-
mouseMoved
- Specified by:
mouseMovedin interfaceMouseMotionListener
-
mouseWheelMoved
Receives notification of a mouse wheel movement and responds by moving the viewpoint in or out (zooming).- Specified by:
mouseWheelMovedin interfaceMouseWheelListener- Parameters:
mwe- the mouse wheel event.
-