Package ptolemy.plot
Class PlotFrame
- java.lang.Object
 - 
- java.awt.Component
 - 
- java.awt.Container
 - 
- java.awt.Window
 - 
- java.awt.Frame
 - 
- javax.swing.JFrame
 - 
- ptolemy.plot.PlotFrame
 
 
 
 
 
 
 
- 
- 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:
 PlotApplication,PlotMLFrame
public class PlotFrame extends javax.swing.JFrame implements java.beans.PropertyChangeListener, ImageExportable
PlotFrame is a versatile two-dimensional data plotter that runs as part of an application, but in its own window. It can read files compatible with the old Ptolemy plot file format (currently only ASCII). It is extended with the capability to read PlotML files in PlotMLFrame. An application can also interact directly with the contained Plot object, which is visible as a public member, by invoking its methods.An application that uses this class should set up the handling of window-closing events. Presumably, the application will exit when all windows have been closed. This is done with code something like:
plotFrameInstance.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { // Handle the event } });PlotFrame contains an instance of PlotBox. PlotBox is the base class for classes with drawing capability, e.g. Plot, LogicAnalyzer. If not specified in the constructor, the default is to contain a Plot object. This field is set once in the constructor and immutable afterwards.
- 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.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type 
 - 
 
- 
Field Summary
Fields Modifier and Type Field Description protected java.io.File_directoryDirectory that contains the input file.protected javax.swing.JMenu_editMenuEdit menu for this frame.protected java.io.File_fileThe input file.protected javax.swing.JMenu_fileMenuFile menu for this frame.protected javax.swing.JMenuBar_menubarMenubar for this frame.protected javax.swing.JMenu_specialMenuSpecial menu for this frame.PlotBoxplotThe plot object held by this frame.- 
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 
 - 
 
- 
Constructor Summary
Constructors Constructor Description PlotFrame()Construct a plot frame with a default title and by default contains an instance of Plot.PlotFrame(java.lang.String title)Construct a plot frame with the specified title and by default contains an instance of Plot.PlotFrame(java.lang.String title, PlotBox plotArg)Construct a plot frame with the specified title and the specified instance of PlotBox. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void_about()Display a menu that describes the Plotter.protected void_close()Close the window.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_open()Open a new file and plot its data.protected void_print()Print the plot using the native interface.protected void_printCrossPlatform()Print using the cross platform dialog.protected void_printNative()Print using the native dialog.protected void_printPDF()If a PDF printer is available print to it.protected void_read(java.net.URL base, java.io.InputStream in)Read the specified stream.protected void_save()Save the plot to the current file, determined by the and _file protected variable.protected void_saveAs()Query the user for a filename and save the plot to that file.voidpropertyChange(java.beans.PropertyChangeEvent event)Respond to dialog action.voidsamplePlot()Create a sample plot.voidsetVisible(boolean visible)Set the visibility.voidwriteImage(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, 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 
 - 
 
 - 
 
- 
- 
Field Detail
- 
plot
public PlotBox plot
The plot object held by this frame. 
- 
_directory
protected java.io.File _directory
Directory that contains the input file. 
- 
_editMenu
protected javax.swing.JMenu _editMenu
Edit menu for this frame. 
- 
_file
protected java.io.File _file
The input file. 
- 
_fileMenu
protected javax.swing.JMenu _fileMenu
File menu for this frame. 
- 
_menubar
protected javax.swing.JMenuBar _menubar
Menubar for this frame. 
- 
_specialMenu
protected javax.swing.JMenu _specialMenu
Special menu for this frame. 
 - 
 
- 
Constructor Detail
- 
PlotFrame
public PlotFrame()
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. 
- 
PlotFrame
public PlotFrame(java.lang.String title)
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:
 title- The title to put on the window.
 
- 
PlotFrame
public PlotFrame(java.lang.String title, PlotBox plotArg)Construct a plot frame with the specified title and the specified instance of PlotBox. After constructing this, it is necessary to call setVisible(true) to make the plot appear.- Parameters:
 title- The title to put on the window.plotArg- the plot object to put in the frame, or null to create an instance of Plot.
 
 - 
 
- 
Method Detail
- 
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent event)
Respond to dialog action.- Specified by:
 propertyChangein interfacejava.beans.PropertyChangeListener- Parameters:
 event- The dialog event.
 
- 
samplePlot
public void samplePlot()
Create a sample plot. 
- 
setVisible
public void setVisible(boolean visible)
Set the visibility. As a side effect, this method sets the background of the menus.- Overrides:
 setVisiblein classjava.awt.Window- Parameters:
 visible- True if the Frame is to be visible, false if it is not visible.
 
- 
writeImage
public void writeImage(java.io.OutputStream stream, java.lang.String format) throws java.awt.print.PrinterException, java.io.IOExceptionWrite 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:
 writeImagein interfaceImageExportable- 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.
 
- 
_about
protected void _about()
Display a menu that describes the Plotter. 
- 
_close
protected void _close()
Close the window. 
- 
_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 supported formats are EPS and GIF. 
- 
_help
protected void _help()
Display more detailed information than given by _about(). 
- 
_open
protected void _open()
Open a new file and plot its data. 
- 
_print
protected void _print()
Print the plot using the native interface. 
- 
_printCrossPlatform
protected void _printCrossPlatform()
Print using the cross platform dialog. Note that in java 1.6.0_05, the properties button is disabled, so using _printNative() is preferred. 
- 
_printPDF
protected void _printPDF() throws java.awt.print.PrinterExceptionIf a PDF printer is available print to it.- Throws:
 java.awt.print.PrinterException- If a printer with the string "PDF" cannot be found or if the job cannot be set to the PDF print service or if there is another problem printing.
 
- 
_printNative
protected void _printNative()
Print using the native dialog. 
- 
_read
protected void _read(java.net.URL base, java.io.InputStream in) throws java.io.IOExceptionRead the specified stream. Derived classes may override this to support other file formats.- Parameters:
 base- The base for relative file references, or null if there are not relative file references.in- The input stream.- Throws:
 java.io.IOException- If the stream cannot be read.
 
- 
_save
protected void _save()
Save the plot to the current file, determined by the and _file protected variable. 
- 
_saveAs
protected void _saveAs()
Query the user for a filename and save the plot to that file. 
 - 
 
 -