org.opensourcephysics.frames
Class Scalar2DFrame

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
                  extended byjavax.swing.JFrame
                      extended byorg.opensourcephysics.display.OSPFrame
                          extended byorg.opensourcephysics.display.DrawingFrame
                              extended byorg.opensourcephysics.frames.Scalar2DFrame
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.datatransfer.ClipboardOwner, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.print.Printable, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class Scalar2DFrame
extends DrawingFrame

A DrawingFrame that displays 2D plots of scalar fields.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class org.opensourcephysics.display.DrawingFrame
DrawingFrame.DrawingFrameLoader
 
Nested classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class org.opensourcephysics.display.DrawingFrame
copyItem, customInspector, drawingPanel, editMenu, fileMenu, MENU_SHORTCUT_KEY_MASK, pasteItem, replaceItem, reply
 
Fields inherited from class org.opensourcephysics.display.OSPFrame
animated, applet, appletMode, authorMode, autoclear, buttonPanel, chooserDir, constructorThreadGroup, customButtons, DEFAULT_LOOK_AND_FEEL, defaultLocales, keepHidden, launcherMode, osp_icon_file, strategy
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, 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.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Scalar2DFrame(java.lang.String frameTitle)
          Constructs a Scalar2DFrame with the given frame title but without axes.
Scalar2DFrame(java.lang.String xlabel, java.lang.String ylabel, java.lang.String frameTitle)
          Constructs a Scalar2DFrame with the given axes labels and frame title.
 
Method Summary
protected  void addMenuItems()
          Adds Views menu items on the menu bar.
 void clearData()
          Sets the scalar field to zero.
 void clearDrawables()
          Clears drawable objects added by the user from this frame.
 void convertToContourPlot()
          Converts to a contour plot.
 void convertToGrayscalePlot()
           
 void convertToGridPlot()
           
 void convertToInterpolatedPlot()
           
 void convertToSurfacePlot()
          Converts to a SurfacePlot plot.
 java.util.ArrayList getDrawables()
          Gets Drawable objects added by the user to this frame.
 java.util.ArrayList getDrawables(java.lang.Class c)
          Gets Drawable objects added by the user of an assignable type.
 int getNx()
          Gets the number of x entries.
 int getNy()
          Gets the number of y entries.
 double indexToX(int i)
          Gets the x coordinate for the given index.
 double indexToY(int i)
          Gets the y coordinate for the given index.
 void resizeGrid(int nx, int ny)
          Resizes the number of columns and rows.
 void setAll(double[] vals)
          Sets all the scalar field values using the given array.
 void setAll(double[][] vals)
          Sets the scalar field's values.
 void setAll(double[][] vals, double xmin, double xmax, double ymin, double ymax)
          Sets the scalar field's values and scale..
 void setPaletteType(int type)
          Sets the color palette that will be used to color the scalar field.
 void setPlotType(java.lang.String type)
          Sets the type of plot type so that it cannot be changed from the menu.
 void setRow(int row, double[] vals)
          Sets the data in the given row to new values.
 void setZRange(boolean isAutoscale, double floor, double ceil)
          Sets the autoscale flag and the floor and ceiling values for the colors.
 void showDataTable(boolean show)
          Shows or hides the data table.
 int xToIndex(double x)
          Gets the index that is closest to the given x value
 int yToIndex(double y)
          Gets the index that is closest to the given y value
 
Methods inherited from class org.opensourcephysics.display.DrawingFrame
addDrawable, clearDataAndRepaint, copyAction, getAxes, getDrawingPanel, getLoader, getObjectOfClass, inspectXML, invalidateImage, isAutoscaleX, isAutoscaleY, limitAutoscaleX, limitAutoscaleY, loadDisplayMenu, loadToolsMenu, lostOwnership, paint, pasteAction, refreshGUI, removeDrawable, removeObjectsOfClass, render, replaceAction, replaceDrawable, saveXML, setAutoscaleX, setAutoscaleY, setCartesian, setCustomInspector, setDrawingPanel, setEnabledCopy, setEnabledPaste, setEnabledReplace, setInteractiveMouseHandler, setInteriorBackground, setLogScale, setMessage, setMessage, setPixelsPerUnit, setPolar, setPreferredMinMax, setPreferredMinMaxX, setPreferredMinMaxY, setSquareAspect, setXLabel, setYLabel
 
Methods inherited from class org.opensourcephysics.display.OSPFrame
addButton, bufferStrategyShow, createBufferStrategy, dispose, getChooser, getConstructorThreadGroup, getDefaultLocales, getMenu, isAnimated, isAuthorMode, isAutoclear, isIconified, isKeepHidden, isLauncherMode, parseXMLMenu, parseXMLMenu, print, removeMenu, removeMenuItem, setAnimated, setAuthorMode, setAutoclear, setDefaultCloseOperation, setFontLevel, setKeepHidden, setLauncherMode, setSize, setTitle, setVisible, show, wishesToExit
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, transferFocusBackward, 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, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

Scalar2DFrame

public Scalar2DFrame(java.lang.String xlabel,
                     java.lang.String ylabel,
                     java.lang.String frameTitle)
Constructs a Scalar2DFrame with the given axes labels and frame title.

Parameters:
xlabel - String
ylabel - String
frameTitle - String

Scalar2DFrame

public Scalar2DFrame(java.lang.String frameTitle)
Constructs a Scalar2DFrame with the given frame title but without axes.

Parameters:
frameTitle - String
Method Detail

indexToX

public double indexToX(int i)
Gets the x coordinate for the given index.

Parameters:
i - int
Returns:
double the x coordiante

xToIndex

public int xToIndex(double x)
Gets the index that is closest to the given x value

Returns:
double the x coordiante

yToIndex

public int yToIndex(double y)
Gets the index that is closest to the given y value

Returns:
double the y coordiante

indexToY

public double indexToY(int i)
Gets the y coordinate for the given index.

Parameters:
i - int
Returns:
double the y coordiante

getNx

public int getNx()
Gets the number of x entries.

Returns:
nx

getNy

public int getNy()
Gets the number of y entries.

Returns:
nx

setZRange

public void setZRange(boolean isAutoscale,
                      double floor,
                      double ceil)
Sets the autoscale flag and the floor and ceiling values for the colors. If autoscaling is true, then the min and max values of z are span the colors. If autoscaling is false, then floor and ceiling values limit the colors. Values below min map to the first color; values above max map to the last color.

Parameters:
isAutoscale -
floor -
ceil -

setPaletteType

public void setPaletteType(int type)
Sets the color palette that will be used to color the scalar field.

Parameters:
type -

addMenuItems

protected void addMenuItems()
Adds Views menu items on the menu bar.


clearDrawables

public void clearDrawables()
Clears drawable objects added by the user from this frame.

Overrides:
clearDrawables in class DrawingFrame

getDrawables

public java.util.ArrayList getDrawables()
Gets Drawable objects added by the user to this frame.

Overrides:
getDrawables in class DrawingFrame
Returns:
the list

getDrawables

public java.util.ArrayList getDrawables(java.lang.Class c)
Gets Drawable objects added by the user of an assignable type. The list contains objects that are assignable from the class or interface.

Overrides:
getDrawables in class DrawingFrame
Parameters:
c - the type of Drawable object
Returns:
the cloned list
See Also:
DrawingFrame.getObjectOfClass(Class c)

clearData

public void clearData()
Sets the scalar field to zero.

Overrides:
clearData in class OSPFrame

setPlotType

public void setPlotType(java.lang.String type)
Sets the type of plot type so that it cannot be changed from the menu.

Parameters:
type - String

convertToContourPlot

public void convertToContourPlot()
Converts to a contour plot.


convertToInterpolatedPlot

public void convertToInterpolatedPlot()

convertToGridPlot

public void convertToGridPlot()

convertToGrayscalePlot

public void convertToGrayscalePlot()

convertToSurfacePlot

public void convertToSurfacePlot()
Converts to a SurfacePlot plot.


resizeGrid

public void resizeGrid(int nx,
                       int ny)
Resizes the number of columns and rows.

Parameters:
nx - int
ny - int

setRow

public void setRow(int row,
                   double[] vals)
            throws java.lang.IllegalArgumentException
Sets the data in the given row to new values.

Parameters:
row - int
vals - double[] new values
Throws:
java.lang.IllegalArgumentException - if array length does not match grid size.

setAll

public void setAll(double[][] vals,
                   double xmin,
                   double xmax,
                   double ymin,
                   double ymax)
Sets the scalar field's values and scale..

Parameters:
vals - int[][] the new values
xmin - double
xmax - double
ymin - double
ymax - double

setAll

public void setAll(double[][] vals)
Sets the scalar field's values.

Parameters:
vals - double[][] new values

setAll

public void setAll(double[] vals)
Sets all the scalar field values using the given array. The array is assumed to contain numbers in row-major format.

Parameters:
vals - double[] field values

showDataTable

public void showDataTable(boolean show)
Shows or hides the data table.

Parameters:
show - boolean