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
_directory
Directory that contains the input file.protected javax.swing.JMenu
_editMenu
Edit menu for this frame.protected java.io.File
_file
The input file.protected javax.swing.JMenu
_fileMenu
File menu for this frame.protected javax.swing.JMenuBar
_menubar
Menubar for this frame.protected javax.swing.JMenu
_specialMenu
Special menu for this frame.PlotBox
plot
The 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.void
propertyChange(java.beans.PropertyChangeEvent event)
Respond to dialog action.void
samplePlot()
Create a sample plot.void
setVisible(boolean visible)
Set the visibility.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, 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:
propertyChange
in 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:
setVisible
in 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.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 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.PrinterException
If 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.IOException
Read 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.
-
-