Package geomss.ui

Class PlotXYWindow

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

    public class PlotXYWindow
    extends AbstractPlotWindow
    An application window that displays a quick plot of the data contained in a DataSet made up of DataCase objects containing sets of ArrayParam objects. This allows "overlay" plots of identical parameters from different "runs" or cases.

    Modified by: Joseph A. Huwaldt

    Version:
    January 31, 2017
    Author:
    Joseph A. Huwaldt Date: October 12, 2015
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.Type
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.BaselineResizeBehavior
    • Field Summary

      • Fields inherited from class java.awt.Frame

        CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
      • 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
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • Constructor Summary

      Constructors 
      Constructor Description
      PlotXYWindow​(java.lang.String title, DataCase data)
      Creates a new instance of a data plot window using the specified list of data arrays.
      PlotXYWindow​(java.lang.String title, DataSet data)
      Creates a new instance of a data plot window using the specified list of data arrays.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.jfree.chart.JFreeChart getChart()
      Returns the chart contained in this window.
      DataSet getDataSet()
      Return a reference to the data set plotted in this window.
      org.jfree.chart.axis.NumberAxis getDomainAxis()
      Return the domain axis for the plot in this window.
      java.lang.String getDomainAxisLabel()
      Return the domain or X-axis label for this chart.
      org.jfree.chart.renderer.xy.XYLineAndShapeRenderer getLineAndShapeRenderer()
      Return the line and shape rendered for the plot in this window.
      org.jfree.chart.axis.NumberAxis getRangeAxis()
      Return the range axis for the plot in this window.
      java.lang.String getRangeAxisLabel()
      Return the range or Y-axis label for this chart.
      org.jfree.chart.plot.XYPlot getXYPlot()
      Return the XYPlot contained in this window.
      void setChartTitle​(java.lang.String title)
      Sets the chart title.
      void setDomainAxisLabel​(java.lang.String label)
      Sets the domain or X-axis label.
      void setDomainAxisRange​(double lower, double upper)
      Sets the domain axis range to the given values and sets the auto-range flag to false.
      void setLegendLabel​(int index, java.lang.String label)
      Sets the labels used to display all the legend items to the supplied String values.
      void setLegendLabels​(java.lang.String... labels)
      Sets the labels used to display all the legend items to the supplied String values.
      void setLegendVisible​(boolean visible)
      Method that toggles the display of the plot legend.
      void setLinesVisible​(boolean visible)
      Method that toggles the display of lines between the data points being plotted.
      void setLinesVisible​(int series, boolean visible)
      Method that toggles the display of lines between the data points being plotted in a given series.
      void setRangeAxisLabel​(java.lang.String label)
      Sets the range or Y-axis label.
      void setRangeAxisRange​(double lower, double upper)
      Sets the range axis range to the given values and sets the auto-range flag to false.
      void setSeriesPaint​(int series, java.awt.Paint paint)
      Set the series Paint for a specified series.
      void setShapesVisible​(boolean visible)
      Method that toggles the display of plot symbols/shapes for each data point plotted.
      void setShapesVisible​(int series, boolean visible)
      Method that toggles the display of plot symbols/shapes for each data point plotted in the given series.
      void setStroke​(int series, java.awt.Stroke stroke)
      Set the series stroke for a specified series.
      void setStroke​(java.awt.Stroke stroke)
      Set the base stroke for the chart.
      • Methods inherited from class javax.swing.JFrame

        getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setTransferHandler, update
      • Methods inherited from class java.awt.Frame

        addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setUndecorated
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, dispatchEvent, enable, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.awt.MenuContainer

        getFont, postEvent
    • Constructor Detail

      • PlotXYWindow

        public PlotXYWindow​(java.lang.String title,
                            DataCase data)
                     throws java.lang.IllegalArgumentException
        Creates a new instance of a data plot window using the specified list of data arrays.
        Parameters:
        title - Title of the window.
        data - A DataCase containing a single case to be plotted.
        Throws:
        java.lang.IllegalArgumentException - if the input data set can not be plotted.
      • PlotXYWindow

        public PlotXYWindow​(java.lang.String title,
                            DataSet data)
                     throws java.lang.IllegalArgumentException
        Creates a new instance of a data plot window using the specified list of data arrays.
        Parameters:
        title - Title of the window.
        data - DataSet containing the cases to be plotted (all cases must have the same set of parameters).
        Throws:
        java.lang.IllegalArgumentException - if the input data set can not be plotted.
    • Method Detail

      • getDataSet

        public DataSet getDataSet()
        Return a reference to the data set plotted in this window.
        Returns:
        The data set that is plotted in this window.
      • getChart

        public org.jfree.chart.JFreeChart getChart()
        Returns the chart contained in this window.
        Returns:
        The chart contained in this window.
      • getXYPlot

        public org.jfree.chart.plot.XYPlot getXYPlot()
        Return the XYPlot contained in this window.
        Returns:
        The XYPlot contained in this window.
      • getLineAndShapeRenderer

        public org.jfree.chart.renderer.xy.XYLineAndShapeRenderer getLineAndShapeRenderer()
        Return the line and shape rendered for the plot in this window.
        Returns:
        The line and shape rendered for the plot in this window.
      • getDomainAxis

        public org.jfree.chart.axis.NumberAxis getDomainAxis()
        Return the domain axis for the plot in this window.
        Returns:
        The domain axis for the plot in this window.
      • getRangeAxis

        public org.jfree.chart.axis.NumberAxis getRangeAxis()
        Return the range axis for the plot in this window.
        Returns:
        The range axis for the plot in this window.
      • setShapesVisible

        public void setShapesVisible​(boolean visible)
        Method that toggles the display of plot symbols/shapes for each data point plotted.
        Parameters:
        visible - Pass true to show plot symbols/shapes and false to hide them.
      • setShapesVisible

        public void setShapesVisible​(int series,
                                     boolean visible)
        Method that toggles the display of plot symbols/shapes for each data point plotted in the given series.
        Parameters:
        series - The series/case/run index (zero-based) to set the shape visibility for.
        visible - Pass true to show plot symbols/shapes and false to hide them.
      • setLinesVisible

        public void setLinesVisible​(boolean visible)
        Method that toggles the display of lines between the data points being plotted.
        Parameters:
        visible - Pass true to show lines and false to hide them.
      • setLinesVisible

        public void setLinesVisible​(int series,
                                    boolean visible)
        Method that toggles the display of lines between the data points being plotted in a given series.
        Parameters:
        series - The series/case/run index (zero-based) to set the line visibility for.
        visible - Pass true to show lines and false to hide them.
      • setSeriesPaint

        public void setSeriesPaint​(int series,
                                   java.awt.Paint paint)
        Set the series Paint for a specified series.
        Parameters:
        series - The series/case/run index (zero-based) to set the Paint for.
        paint - The paint to set for the given series.
      • setStroke

        public void setStroke​(java.awt.Stroke stroke)
        Set the base stroke for the chart.
        Parameters:
        stroke - The stroke to set as the base stroke.
      • setStroke

        public void setStroke​(int series,
                              java.awt.Stroke stroke)
        Set the series stroke for a specified series.
        Parameters:
        series - The series/case/run index (zero-based) to set the stroke for.
        stroke - The stroke to set for the given series.
      • setLegendVisible

        public void setLegendVisible​(boolean visible)
        Method that toggles the display of the plot legend.
        Parameters:
        visible - Pass true to show the legend and false to hid it.
      • setChartTitle

        public void setChartTitle​(java.lang.String title)
        Sets the chart title. If there is an existing title, its text is updated, otherwise a new title using the default font is added to the chart.
        Parameters:
        title - The title text (null is permitted and will hide the chart title).
      • getDomainAxisLabel

        public java.lang.String getDomainAxisLabel()
        Return the domain or X-axis label for this chart.
        Returns:
        The domain or X-axis label for this chart.
      • setDomainAxisLabel

        public void setDomainAxisLabel​(java.lang.String label)
        Sets the domain or X-axis label.
        Parameters:
        label - The new label for the domain axis.
      • getRangeAxisLabel

        public java.lang.String getRangeAxisLabel()
        Return the range or Y-axis label for this chart.
        Returns:
        The range or Y-axis label for this chart.
      • setRangeAxisLabel

        public void setRangeAxisLabel​(java.lang.String label)
        Sets the range or Y-axis label.
        Parameters:
        label - The new label for the range axis.
      • setDomainAxisRange

        public void setDomainAxisRange​(double lower,
                                       double upper)
        Sets the domain axis range to the given values and sets the auto-range flag to false.
        Parameters:
        lower - the lower axis limit.
        upper - the upper axis limit.
      • setRangeAxisRange

        public void setRangeAxisRange​(double lower,
                                      double upper)
        Sets the range axis range to the given values and sets the auto-range flag to false.
        Parameters:
        lower - the lower axis limit.
        upper - the upper axis limit.
      • setLegendLabels

        public void setLegendLabels​(java.lang.String... labels)
        Sets the labels used to display all the legend items to the supplied String values.
        Parameters:
        labels - The list of String values to set the legend labels to. This list must not be larger than the number of plotted data series.
      • setLegendLabel

        public void setLegendLabel​(int index,
                                   java.lang.String label)
        Sets the labels used to display all the legend items to the supplied String values.
        Parameters:
        index - The index of the plotted data series to change the label for.
        label - The new label to apply to the specified data series.