Class PlotTableauFrame

  • All Implemented Interfaces:
    java.awt.event.WindowFocusListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.print.Printable, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, ImageExportable, StatusHandler

    public class PlotTableauFrame
    extends TableauFrame
    implements java.awt.print.Printable, ImageExportable
    PlotTableauFrame is a version of PlotFrame in the plot package that works more closely with the Ptolemy actor.gui infrastructure. In particular, the File menu commands will open Ptolemy models and HTML files, not just PlotML files. It contains an instance of PlotBox. If not specified in the constructor, the default is to contain a Plot object, where Plot extends PlotBox. This field is set once in the constructor and immutable afterwards.
    Since:
    Ptolemy II 2.1
    Version:
    $Id$
    Author:
    Edward A. Lee
    See Also:
    Plot, PlotBox, Serialized Form
    Pt.AcceptedRating:
    Yellow (cxh)
    Pt.ProposedRating:
    Yellow (cxh)
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  PlotTableauFrame.ExportImageAction
      Export an image of a plot.
      • 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
    • Constructor Summary

      Constructors 
      Constructor Description
      PlotTableauFrame()
      Construct a plot frame with a default title and by default contains an instance of Plot.
      PlotTableauFrame​(Tableau tableau)
      Construct a plot frame in the corresponding Tableau with the specified instance of PlotBox.
      PlotTableauFrame​(Tableau tableau, PlotBox plotBox)
      Construct a plot frame with the specified title and by default contains an instance of Plot.
      PlotTableauFrame​(Tableau tableau, PlotBox plotBox, Placeable placeable)
      Construct a plot frame with the specified title and by default contains an instance of Plot.
      PlotTableauFrame​(Tableau tableau, PlotBox plotBox, PortablePlaceable placeable)
      Construct a plot frame with the specified title and by default contains an instance of Plot.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void _addMenus()
      Create the menus that are used by this frame.
      protected boolean _clear()
      Clear the current plot.
      protected javax.swing.JMenuItem[] _createFileMenuItems()
      Create the items in the File menu's Export section This method adds a menu items to export images of the plot in GIF, PNG, and possibly PDF.
      protected void _editFormat()
      Interactively edit the file format in a modal dialog.
      protected void _export()
      Query the user for a filename and export the plot to that file.
      protected void _help()
      Display more detailed information than given by _about().
      protected void _writeFile​(java.io.File file)
      Write the plot to the specified file in PlotML syntax.
      void dispose()
      Dispose of this frame.
      int print​(java.awt.Graphics graphics, java.awt.print.PageFormat format, int index)
      Print the plot to a printer, which is represented by the specified graphics object.
      void samplePlot()
      Create a sample plot.
      void writeImage​(java.io.OutputStream stream, java.lang.String format)
      Write an image to the specified output stream in the specified format.
      • 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, 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, 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, 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, setVisible, 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

      • plot

        public final PlotBox plot
        The plot object held by this frame.
      • _directory

        protected java.io.File _directory
        Directory that contains the input file.
      • _exportPDFAction

        protected javax.swing.Action _exportPDFAction
        The export to PDF action.
      • _editMenu

        protected javax.swing.JMenu _editMenu
        Edit menu for this frame.
      • _exportGIFAction

        protected javax.swing.Action _exportGIFAction
        The export to GIF action.
      • _exportPNGAction

        protected javax.swing.Action _exportPNGAction
        The export to PNG action.
      • _file

        protected java.io.File _file
        The input file.
      • _specialMenu

        protected javax.swing.JMenu _specialMenu
        Special menu for this frame.
    • Constructor Detail

      • PlotTableauFrame

        public PlotTableauFrame()
        Construct a plot frame with a default title and by default contains an instance of Plot. After constructing this, it is necessary to call setVisible(true) to make the plot appear.
      • PlotTableauFrame

        public PlotTableauFrame​(Tableau tableau)
        Construct a plot frame in the corresponding Tableau with the specified instance of PlotBox. After constructing this, it is necessary to call setVisible(true) to make the plot appear.
        Parameters:
        tableau - The tableau where the window is placed
      • PlotTableauFrame

        public PlotTableauFrame​(Tableau tableau,
                                PlotBox plotBox)
        Construct a plot frame with the specified title and by default contains an instance of Plot. After constructing this, it is necessary to call setVisible(true) to make the plot appear.
        Parameters:
        tableau - The tableau where the window is placed.
        plotBox - the plot object to put in the frame, or null to create an instance of Plot.
      • PlotTableauFrame

        public PlotTableauFrame​(Tableau tableau,
                                PlotBox plotBox,
                                Placeable placeable)
        Construct a plot frame with the specified title and by default contains an instance of Plot. After constructing this, it is necessary to call setVisible(true) to make the plot appear.
        Parameters:
        tableau - The tableau where the window is placed.
        plotBox - the plot object to put in the frame, or null to create an instance of Plot.
        placeable - The associated plot actor, or null if none.
      • PlotTableauFrame

        public PlotTableauFrame​(Tableau tableau,
                                PlotBox plotBox,
                                PortablePlaceable placeable)
        Construct a plot frame with the specified title and by default contains an instance of Plot. After constructing this, it is necessary to call setVisible(true) to make the plot appear.
        Parameters:
        tableau - The tableau where the window is placed.
        plotBox - the plot object to put in the frame, or null to create an instance of Plot.
        placeable - The associated plot actor, or null if none.
    • Method Detail

      • print

        public int print​(java.awt.Graphics graphics,
                         java.awt.print.PageFormat format,
                         int index)
                  throws java.awt.print.PrinterException
        Print the plot to a printer, which is represented by the specified graphics object.
        Specified by:
        print in interface java.awt.print.Printable
        Parameters:
        graphics - The context into which the page is drawn.
        format - The size and orientation of the page being drawn.
        index - The zero based index of the page to be drawn.
        Returns:
        PAGE_EXISTS if the page is rendered successfully, or NO_SUCH_PAGE if pageIndex specifies a non-existent page.
        Throws:
        java.awt.print.PrinterException - If the print job is terminated.
      • samplePlot

        public void samplePlot()
        Create a sample plot.
      • dispose

        public void dispose()
        Dispose of this frame.

        Override this dispose() method to unattach any listeners that may keep this model from getting garbage collected. This method invokes the dispose() method of the superclass, Top.

        Overrides:
        dispose in class TableauFrame
      • writeImage

        public void writeImage​(java.io.OutputStream stream,
                               java.lang.String format)
                        throws java.awt.print.PrinterException,
                               java.io.IOException
        Write an image to the specified output stream in the specified format. Supported formats include at least "gif" and "png", standard image file formats. The image is a rendition of the current view of the model.
        Specified by:
        writeImage in interface ImageExportable
        Parameters:
        stream - The output stream to write to.
        format - The image format to generate.
        Throws:
        java.io.IOException - If writing to the stream fails.
        java.awt.print.PrinterException - If the specified format is not supported.
      • _addMenus

        protected void _addMenus()
        Create the menus that are used by this frame.
        Overrides:
        _addMenus in class TableauFrame
      • _clear

        protected boolean _clear()
        Clear the current plot. This class checks to see whether the contents have been modified, and if so, then prompts the user to save them. A return value of false indicates that the user has canceled the action.
        Overrides:
        _clear in class Top
        Returns:
        False if the user cancels the clear.
      • _createFileMenuItems

        protected javax.swing.JMenuItem[] _createFileMenuItems()
        Create the items in the File menu's Export section This method adds a menu items to export images of the plot in GIF, PNG, and possibly PDF.
        Overrides:
        _createFileMenuItems in class Top
        Returns:
        The items in the File menu.
      • _editFormat

        protected void _editFormat()
        Interactively edit the file format in a modal dialog.
      • _export

        protected void _export()
        Query the user for a filename and export the plot to that file. Currently, the only supported format is EPS.
      • _help

        protected void _help()
        Display more detailed information than given by _about().
        Overrides:
        _help in class TableauFrame
        See Also:
        FileParameter
      • _writeFile

        protected void _writeFile​(java.io.File file)
                           throws java.io.IOException
        Write the plot to the specified file in PlotML syntax.
        Overrides:
        _writeFile in class TableauFrame
        Parameters:
        file - The file to which to write.
        Throws:
        java.io.IOException - If the write fails.