Package net.sourceforge.chart2d

# Class Object2D

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
net.sourceforge.chart2d.Object2D

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `Serializable`

Direct Known Subclasses:
  `Chart2D`

public abstract class Object2D extends JComponent
An abstract class for the common methods of Chart2D, Clocks2D, and Progress2D objects. An Object2D object is one with an enclosing area and a title. Changes through its set methods are updated upon next repaint() or getImage() calls.

See Also:
  - Serialized Form

- ## Nested Class Summary

  ## 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
  Modifier and Type
  Field
  Description
  `static final Dimension`
  `MAX_SIZE_DEFAULT`
  The default is new Dimension (1024, 768).
  `static final Dimension`
  `MIN_SIZE_DEFAULT`
  The default is new Dimension (1, 1).

  ### 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
  Description
  `Object2D()`
  Creates an Object2D object with its defaults.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract BufferedImage`
  `getImage()`
  Gets a buffered image of the chart.
  `final Object2DProperties`
  `getObject2DProperties()`
  Gets the Object2DProperties for this Object2D.
  `abstract Dimension`
  `getPreferredSize()`
  Gets the preferred size of the chart.
  `abstract void`
  `pack()`
  Causes the object to reinintialize to it's preferred size.
  `final void`
  `setMaximumSize(Dimension size)`
  Sets the maximum size of this object.
  `final void`
  `setMinimumSize(Dimension size)`
  Sets the minimum size of this object.
  `final void`
  `setObject2DProperties(Object2DProperties props)`
  Sets the Object2DProperties for this Object2D.
  `abstract void`
  `setPreferredSize(Dimension size)`
  Sets a custom preferred size for the chart.
  `abstract boolean`
  `validate(boolean debug)`
  Validates the properties of this object.

  ### 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, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, setNextFocusableComponent, setOpaque, setRequestFocusEnabled, setToolTipText, 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, 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, getAccessibleContext, 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`

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

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

- ## Field Details

  - ### MAX_SIZE_DEFAULT

    public static final Dimension MAX_SIZE_DEFAULT
    The default is new Dimension (1024, 768).

  - ### MIN_SIZE_DEFAULT

    public static final Dimension MIN_SIZE_DEFAULT
    The default is new Dimension (1, 1).

- ## Constructor Details

  - ### Object2D

    public Object2D()
    Creates an Object2D object with its defaults. An Object2DProperties object must be set for this object before it is used.

- ## Method Details

  - ### setObject2DProperties

    public final void setObject2DProperties(Object2DProperties props)
    Sets the Object2DProperties for this Object2D.
    Parameters:
      `props` - The Object2DProperties.

  - ### setPreferredSize

    public abstract void setPreferredSize(Dimension size)
    Sets a custom preferred size for the chart. This custom size will override the preferred size calculations that normally occurr. If null is passed, the preferred size calculations will be reinstated.
    Overrides:
      `setPreferredSize` in class `JComponent`
    Parameters:
      `size` - The custom preferred size for this chart.

  - ### setMaximumSize

    public final void setMaximumSize(Dimension size)
    Sets the maximum size of this object.
    Overrides:
      `setMaximumSize` in class `JComponent`
    Parameters:
      `size` - The maximum size.

  - ### setMinimumSize

    public final void setMinimumSize(Dimension size)
    Sets the minimum size of this object.
    Overrides:
      `setMinimumSize` in class `JComponent`
    Parameters:
      `size` - The minimum size.

  - ### getObject2DProperties

    public final Object2DProperties getObject2DProperties()
    Gets the Object2DProperties for this Object2D.
    Returns:
      The Object2DProperties.

  - ### getPreferredSize

    public abstract Dimension getPreferredSize()
    Gets the preferred size of the chart. The preferred size is within the maximum and minimum sizes of the chart. Much calculation is performed when calling this method.
    Overrides:
      `getPreferredSize` in class `JComponent`
    Returns:
      The preferred minimum size of the chart.

  - ### getImage

    public abstract BufferedImage getImage()
    Gets a buffered image of the chart.
    Returns:
      An image of this chart

  - ### pack

    public abstract void pack()
    Causes the object to reinintialize to it's preferred size.

  - ### validate

    public abstract boolean validate(boolean debug)
    Validates the properties of this object. If debug is true then prints a messages indicating whether each property is valid. Returns true if all the properties were valid and false otherwise.
    Parameters:
      `debug` - If true then will print status messages.
    Returns:
      If true then valid.