Package ptolemy.plot

Class PlotApplication

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, ImageExportable
    Direct Known Subclasses:
    PlotMLApplication, PxgraphApplication

    public class PlotApplication
    extends PlotFrame
    PlotApplication is a versatile two-dimensional data plotter application.

    It can read files compatible with the Ptolemy plot file format (currently only ASCII). For a description of the file format, see the Plot and PlotBox classes. Command-line options include:

    -help
    Print the usage, including all command-line options that exist for backward compatibility and then exit. The help menu choice will display the same information.
    -test
    Display the plot, then exit after 2 seconds.
    -version
    Print the program version and then exit. While ptplot is running, the version menu choice will display the same information.
    -
    Read the plot data from standard in.

    For compatibility with historical applications, this application has a limited ability to read pxgraph files. The command line arguments must be used, and the options that are understood are exactly those of the pxgraph application, plus some more to allow for cross-platform reading. It is not possible to read pxgraph files using the "Open" menu command (because of the cross-platform problems). The additional command-line arguments are:

    -bigendian
    Data files are in big-endian, or network binary format. If you are on a little-endian machine, such as a machine with an Intel x86 chip, and you would like to read a binary format file created on a big-endian machine, such as a Sun SPARC, use the -bigendian flag.
    -littleendian
    Data files are in little-endian, or x86 binary format. If you are on a big-endian machine, such as a Sun Sparc, and you would like to read a binary format file created on a little-endian machine, such as Intel x86 machine, then use the -littleendian flag.

    To compile and run this application, do the following:

     javac -classpath ../.. PlotApplication.java
     java -classpath ../.. ptolemy.plot.PlotApplication
     

    This assumes a particular directory structure. If this is not what you have, then alter the above accordingly.

    Since:
    Ptolemy II 0.2
    Version:
    $Id$
    Author:
    Christopher Brooks and Edward A. Lee
    See Also:
    Plot, PlotBox, Serialized Form
    Pt.AcceptedRating:
    Yellow (cxh)
    Pt.ProposedRating:
    Yellow (cxh)
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JFrame

        javax.swing.JFrame.AccessibleJFrame
      • Nested classes/interfaces inherited from class java.awt.Frame

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

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • 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
      protected static boolean _printPDF
      If true, then print to PDF.
      protected static boolean _test
      If true, then auto exit after a few seconds.
      • Fields inherited from class javax.swing.JFrame

        accessibleContext, rootPane, rootPaneCheckingEnabled
      • 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
      PlotApplication()
      Construct a plot with no command-line arguments.
      PlotApplication​(java.lang.String[] args)
      Construct a plot with the specified command-line arguments.
      PlotApplication​(PlotBox plot)
      Display the given plot.
      PlotApplication​(PlotBox plot, java.lang.String[] args)
      Construct a plot with the specified command-line arguments and instance of plot.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void _about()
      Display a menu that describes the Plotter.
      protected void _close()
      Exit the application.
      protected void _help()
      Display more detailed information than given by _about().
      protected int _parseArgs​(java.lang.String[] args)
      Parse the command-line arguments and make calls to the Plot class accordingly.
      protected java.lang.String _usage()
      Return a string summarizing the command-line arguments.
      static void main​(java.lang.String[] args)
      Create a new plot window and map it to the screen.
      • Methods inherited from class javax.swing.JFrame

        addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, 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, setTitle, 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, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, 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, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, 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

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

        getFont, postEvent
    • Field Detail

      • _printPDF

        protected static boolean _printPDF
        If true, then print to PDF.
      • _test

        protected static boolean _test
        If true, then auto exit after a few seconds.
    • Constructor Detail

      • PlotApplication

        public PlotApplication()
                        throws java.lang.Exception
        Construct a plot with no command-line arguments. It initially displays a sample plot.
        Throws:
        java.lang.Exception - Not thrown in this base class.
      • PlotApplication

        public PlotApplication​(java.lang.String[] args)
                        throws java.lang.Exception
        Construct a plot with the specified command-line arguments.
        Parameters:
        args - The command-line arguments.
        Throws:
        java.lang.Exception - If command line arguments have problems.
      • PlotApplication

        public PlotApplication​(PlotBox plot,
                               java.lang.String[] args)
                        throws java.lang.Exception
        Construct a plot with the specified command-line arguments and instance of plot. If there are no command-line arguments, then display a sample plot.
        Parameters:
        plot - The instance of Plot to use.
        args - The command-line arguments.
        Throws:
        java.lang.Exception - If command line arguments have problems.
      • PlotApplication

        public PlotApplication​(PlotBox plot)
        Display the given plot. Unlike the two argument constructor, this does not take command-line arguments, and does not fill the plot with a sample plot.
        Parameters:
        plot - The instance of Plot to display.
    • Method Detail

      • main

        public static void main​(java.lang.String[] args)
        Create a new plot window and map it to the screen.
        Parameters:
        args - The command line arguments. See the class comment for details.
      • _about

        protected void _about()
        Description copied from class: PlotFrame
        Display a menu that describes the Plotter.
        Overrides:
        _about in class PlotFrame
      • _close

        protected void _close()
        Exit the application.
        Overrides:
        _close in class PlotFrame
      • _help

        protected void _help()
        Display more detailed information than given by _about().
        Overrides:
        _help in class PlotFrame
      • _parseArgs

        protected int _parseArgs​(java.lang.String[] args)
                          throws CmdLineArgException,
                                 java.io.FileNotFoundException,
                                 java.io.IOException
        Parse the command-line arguments and make calls to the Plot class accordingly.
        Parameters:
        args - The command line arguments. See the class comment for details.
        Returns:
        The number of arguments read.
        Throws:
        CmdLineArgException - If a command line argument cannot be parsed.
        java.io.FileNotFoundException - If an input file cannot be found.
        java.io.IOException - If there is a problem reading an input.
      • _usage

        protected java.lang.String _usage()
        Return a string summarizing the command-line arguments.
        Returns:
        A usage string.