Class DefaultPlotEditor

  • All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
    Direct Known Subclasses:
    DefaultPolarPlotEditor

    class DefaultPlotEditor
    extends javax.swing.JPanel
    implements java.awt.event.ActionListener
    A panel for editing the properties of a Plot.
    • 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 
      Modifier and Type Field Description
      private StrokeSample[] availableStrokeSamples
      An array of stroke samples to choose from.
      private PaintSample backgroundPaintSample
      The paint (color) used to fill the background of the plot.
      private DefaultAxisEditor domainAxisPropertyPanel
      A panel used to display/edit the properties of the domain axis (if any).
      private java.lang.Boolean drawLines
      Whether or not to draw lines between each data point (for LineAndShapeRenderers and StandardXYItemRenderers).
      private javax.swing.JCheckBox drawLinesCheckBox
      The checkbox for whether or not to draw lines between each data point.
      private java.lang.Boolean drawShapes
      Whether or not to draw shapes at each data point (for LineAndShapeRenderers and StandardXYItemRenderers).
      private javax.swing.JCheckBox drawShapesCheckBox
      The checkbox for whether or not to draw shapes at each data point.
      protected static java.util.ResourceBundle localizationResources
      The resourceBundle for the localization.
      private static int ORIENTATION_HORIZONTAL  
      private static int ORIENTATION_VERTICAL  
      private javax.swing.JComboBox orientationCombo
      The orientation combo box (for CategoryPlots and XYPlots).
      private static java.lang.String[] orientationNames
      Orientation constants.
      private PaintSample outlinePaintSample
      The paint (color) used to draw the outline of the plot.
      private StrokeSample outlineStrokeSample
      The stroke used to draw the outline of the plot.
      private RectangleInsets plotInsets
      The insets for the plot.
      private PlotOrientation plotOrientation
      The orientation for the plot (for CategoryPlots and XYPlots).
      private DefaultAxisEditor rangeAxisPropertyPanel
      A panel used to display/edit the properties of the range axis (if any).
      • 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
      DefaultPlotEditor​(Plot plot)
      Standard constructor - constructs a panel for editing the properties of the specified plot.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent event)
      Handles user actions generated within the panel.
      private void attemptBackgroundPaintSelection()
      Allow the user to change the background paint.
      private void attemptDrawLinesSelection()
      Allow the user to modify whether or not lines are drawn between data points by LineAndShapeRenderers and StandardXYItemRenderers.
      private void attemptDrawShapesSelection()
      Allow the user to modify whether or not shapes are drawn at data points by LineAndShapeRenderers and StandardXYItemRenderers.
      private void attemptOrientationSelection()
      Allow the user to modify the plot orientation if this is an editor for a CategoryPlot or a XYPlot.
      private void attemptOutlinePaintSelection()
      Allow the user to change the outline paint.
      private void attemptOutlineStrokeSelection()
      Allow the user to change the outline stroke.
      protected javax.swing.JPanel createPlotPanel​(Plot plot)
      Creates and returns a panel for editing the settings of the specified plot.
      protected javax.swing.JTabbedPane createPlotTabs​(Plot plot)
      Creates and returns a tabbed pane containing controls for setting the attributes of the specified plot.
      java.awt.Paint getBackgroundPaint()
      Returns the current background paint.
      DefaultAxisEditor getDomainAxisPropertyEditPanel()
      Returns a reference to the panel for editing the properties of the domain axis.
      java.awt.Paint getOutlinePaint()
      Returns the current outline paint.
      java.awt.Stroke getOutlineStroke()
      Returns the current outline stroke.
      RectangleInsets getPlotInsets()
      Returns the current plot insets.
      DefaultAxisEditor getRangeAxisPropertyEditPanel()
      Returns a reference to the panel for editing the properties of the range axis.
      void updatePlotProperties​(Plot plot)
      Updates the plot properties to match the properties defined on the panel.
      • 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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
    • Field Detail

      • orientationNames

        private static final java.lang.String[] orientationNames
        Orientation constants.
      • ORIENTATION_HORIZONTAL

        private static final int ORIENTATION_HORIZONTAL
        See Also:
        Constant Field Values
      • backgroundPaintSample

        private PaintSample backgroundPaintSample
        The paint (color) used to fill the background of the plot.
      • outlineStrokeSample

        private StrokeSample outlineStrokeSample
        The stroke used to draw the outline of the plot.
      • outlinePaintSample

        private PaintSample outlinePaintSample
        The paint (color) used to draw the outline of the plot.
      • domainAxisPropertyPanel

        private DefaultAxisEditor domainAxisPropertyPanel
        A panel used to display/edit the properties of the domain axis (if any).
      • rangeAxisPropertyPanel

        private DefaultAxisEditor rangeAxisPropertyPanel
        A panel used to display/edit the properties of the range axis (if any).
      • availableStrokeSamples

        private StrokeSample[] availableStrokeSamples
        An array of stroke samples to choose from.
      • plotOrientation

        private PlotOrientation plotOrientation
        The orientation for the plot (for CategoryPlots and XYPlots).
      • orientationCombo

        private javax.swing.JComboBox orientationCombo
        The orientation combo box (for CategoryPlots and XYPlots).
      • drawLines

        private java.lang.Boolean drawLines
        Whether or not to draw lines between each data point (for LineAndShapeRenderers and StandardXYItemRenderers).
      • drawLinesCheckBox

        private javax.swing.JCheckBox drawLinesCheckBox
        The checkbox for whether or not to draw lines between each data point.
      • drawShapes

        private java.lang.Boolean drawShapes
        Whether or not to draw shapes at each data point (for LineAndShapeRenderers and StandardXYItemRenderers).
      • drawShapesCheckBox

        private javax.swing.JCheckBox drawShapesCheckBox
        The checkbox for whether or not to draw shapes at each data point.
      • localizationResources

        protected static java.util.ResourceBundle localizationResources
        The resourceBundle for the localization.
    • Constructor Detail

      • DefaultPlotEditor

        public DefaultPlotEditor​(Plot plot)
        Standard constructor - constructs a panel for editing the properties of the specified plot.

        In designing the panel, we need to be aware that subclasses of Plot will need to implement subclasses of PlotPropertyEditPanel - so we need to leave one or two 'slots' where the subclasses can extend the user interface.

        Parameters:
        plot - the plot, which should be changed.
    • Method Detail

      • createPlotPanel

        protected javax.swing.JPanel createPlotPanel​(Plot plot)
        Creates and returns a panel for editing the settings of the specified plot.
        Parameters:
        plot - the plot.
        Returns:
        A panel.
      • createPlotTabs

        protected javax.swing.JTabbedPane createPlotTabs​(Plot plot)
        Creates and returns a tabbed pane containing controls for setting the attributes of the specified plot.
        Parameters:
        plot - the plot.
        Returns:
        A tabbed pane.
      • getPlotInsets

        public RectangleInsets getPlotInsets()
        Returns the current plot insets.
        Returns:
        The current plot insets.
      • getBackgroundPaint

        public java.awt.Paint getBackgroundPaint()
        Returns the current background paint.
        Returns:
        The current background paint.
      • getOutlineStroke

        public java.awt.Stroke getOutlineStroke()
        Returns the current outline stroke.
        Returns:
        The current outline stroke (possibly null).
      • getOutlinePaint

        public java.awt.Paint getOutlinePaint()
        Returns the current outline paint.
        Returns:
        The current outline paint.
      • getDomainAxisPropertyEditPanel

        public DefaultAxisEditor getDomainAxisPropertyEditPanel()
        Returns a reference to the panel for editing the properties of the domain axis.
        Returns:
        A reference to a panel.
      • getRangeAxisPropertyEditPanel

        public DefaultAxisEditor getRangeAxisPropertyEditPanel()
        Returns a reference to the panel for editing the properties of the range axis.
        Returns:
        A reference to a panel.
      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent event)
        Handles user actions generated within the panel.
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
        Parameters:
        event - the event
      • attemptBackgroundPaintSelection

        private void attemptBackgroundPaintSelection()
        Allow the user to change the background paint.
      • attemptOutlineStrokeSelection

        private void attemptOutlineStrokeSelection()
        Allow the user to change the outline stroke.
      • attemptOutlinePaintSelection

        private void attemptOutlinePaintSelection()
        Allow the user to change the outline paint. We use JColorChooser, so the user can only choose colors (a subset of all possible paints).
      • attemptOrientationSelection

        private void attemptOrientationSelection()
        Allow the user to modify the plot orientation if this is an editor for a CategoryPlot or a XYPlot.
      • attemptDrawLinesSelection

        private void attemptDrawLinesSelection()
        Allow the user to modify whether or not lines are drawn between data points by LineAndShapeRenderers and StandardXYItemRenderers.
      • attemptDrawShapesSelection

        private void attemptDrawShapesSelection()
        Allow the user to modify whether or not shapes are drawn at data points by LineAndShapeRenderers and StandardXYItemRenderers.
      • updatePlotProperties

        public void updatePlotProperties​(Plot plot)
        Updates the plot properties to match the properties defined on the panel.
        Parameters:
        plot - The plot.