org.opensourcephysics.frames
Class LatticeFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by org.opensourcephysics.display.OSPFrame
                          extended by org.opensourcephysics.display.DrawingFrame
                              extended by org.opensourcephysics.frames.LatticeFrame
All Implemented Interfaces:
java.awt.datatransfer.ClipboardOwner, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, AppFrame, Hidable

public class LatticeFrame
extends DrawingFrame

A DrawingFrame that displays plots using a Lattice.

Version:
1.0
Author:
W. Christian
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.opensourcephysics.display.DrawingFrame
DrawingFrame.DrawingFrameLoader
 
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
 
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
protected  ByteLattice lattice
           
 
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, autoclear, buttonPanel, childFrames, constructorThreadGroup, customButtons, keepHidden, 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 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
LatticeFrame(java.lang.String frameTitle)
          Constructs a LatticeFrame with the given frame title but without axes.
LatticeFrame(java.lang.String xlabel, java.lang.String ylabel, java.lang.String frameTitle)
          Constructs a LatticeFrame with the given axes labels and frame title.
 
Method Summary
protected  void addMenuItems()
          Adds Views menu items on the menu bar.
 void clearData()
          Clears the lattice data by setting all values to zero.
 void clearDrawables()
          Clears drawable objects added by the user from this frame.
 void convertToCellLattice()
          Converts this lattice to a Byte lattice from a CellLattice.
 void convertToSiteLattice()
          Converts this lattice to a SiteLattice from a CellLattice.
 int[] getAll()
          Gets the entire lattice contents in an int array.
 int getAtIndex(int i)
          Gets the ith indexed cell of the lattice Values are in row-major format such that the index corresponds to iy*ny+ix.
 java.util.ArrayList<Drawable> getDrawables()
          Gets Drawable objects added by the user to this frame.
<T extends Drawable>
java.util.ArrayList<T>
getDrawables(java.lang.Class<T> c)
          Gets Drawable objects added by the user of an assignable type.
 int getValue(int ix, int iy)
          Gets the (x,y) value of the lattice.
 int indexFromPoint(double x, double y)
          Determines the lattice index (row-major order) from given x and y world coordinates
 void randomize()
          Randomizes the lattice values.
 void resizeLattice(int nx, int ny)
          Resizes the number of columns and rows in the lattice
 void setAll(byte[][] val)
          Sets a block of data to new values.
 void setAll(byte[][] val, double xmin, double xmax, double ymin, double ymax)
          Sets the lattice values and scale.
 void setAll(int[] v)
          Sets an array v of int values into the lattice, starting at (x=0,y=0).
 void setAll(int[] val, int nx, double xmin, double xmax, double ymin, double ymax)
          Sets the lattice values and scale.
 void setAtIndex(int i, int v)
          Sets the ith indexed cell or site of the lattice to store value v Values are in row-major format such that the index corresponds to iy*ny+ix.
 void setColorPalette(java.awt.Color[] colors)
          Sets the color palette.
 void setIndexedColor(int index, java.awt.Color color)
          Sets the color for a single index.
 void setShowGridLines(boolean showGridLines)
          Outlines the lattice boundaries with a grid.
 void setToggleOnClick(boolean enable, int v1, int v2)
          Sets an action to toggle the grid betweem the given values when the mouse is pressed.
 void setValue(int ix, int iy, int v)
          Sets the (ix,iy) value of the lattice.
 void showLegend()
          Shows the color associated with each 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, addChildFrame, bufferStrategyShow, clearChildFrames, createBufferStrategy, dispose, getChildFrames, getChooser, getConstructorThreadGroup, getMenu, isAnimated, isAutoclear, isIconified, isKeepHidden, parseXMLMenu, parseXMLMenu, removeMenu, removeMenuItem, setAnimated, setAutoclear, setDefaultCloseOperation, setFontLevel, setKeepHidden, setSize, setTitle, setVisible, show, wishesToExit
 
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, 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, 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, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, 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, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, 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, isMaximumSizeSet, isMinimumSizeSet, isOpaque, 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, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.opensourcephysics.display.AppFrame
getDefaultCloseOperation
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

lattice

protected ByteLattice lattice
Constructor Detail

LatticeFrame

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

Parameters:
xlabel - String
ylabel - String
frameTitle - String

LatticeFrame

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

Parameters:
frameTitle - String
Method Detail

setShowGridLines

public void setShowGridLines(boolean showGridLines)
Outlines the lattice boundaries with a grid.

Parameters:
showGridLines -

showLegend

public void showLegend()
Shows the color associated with each value.


addMenuItems

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

Overrides:
addMenuItems in class DrawingFrame

convertToSiteLattice

public void convertToSiteLattice()
Converts this lattice to a SiteLattice from a CellLattice.


convertToCellLattice

public void convertToCellLattice()
Converts this lattice to a Byte lattice from a CellLattice.


clearDrawables

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

Overrides:
clearDrawables in class DrawingFrame

getDrawables

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

Overrides:
getDrawables in class DrawingFrame
Returns:
the list

getDrawables

public <T extends Drawable> java.util.ArrayList<T> getDrawables(java.lang.Class<T> 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()
Clears the lattice data by setting all values to zero.

Overrides:
clearData in class OSPFrame

setAll

public void setAll(byte[][] val)
Sets a block of data to new values. The lattice is resized to fit the new data as needed.

Parameters:
val -

setAll

public void setAll(byte[][] val,
                   double xmin,
                   double xmax,
                   double ymin,
                   double ymax)
Sets the lattice values and scale. The lattice is resized to fit the new data as needed.

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

randomize

public void randomize()
Randomizes the lattice values.


resizeLattice

public void resizeLattice(int nx,
                          int ny)
Resizes the number of columns and rows in the lattice

Parameters:
nx - int
ny - int

setIndexedColor

public void setIndexedColor(int index,
                            java.awt.Color color)
Sets the color for a single index.

Parameters:
index -
color -

setColorPalette

public void setColorPalette(java.awt.Color[] colors)
Sets the color palette.

Parameters:
colors -

setAtIndex

public void setAtIndex(int i,
                       int v)
Sets the ith indexed cell or site of the lattice to store value v Values are in row-major format such that the index corresponds to iy*ny+ix.

Parameters:
i -
v -

setValue

public void setValue(int ix,
                     int iy,
                     int v)
Sets the (ix,iy) value of the lattice.

Parameters:
ix -
iy -
v -

setAll

public void setAll(int[] val,
                   int nx,
                   double xmin,
                   double xmax,
                   double ymin,
                   double ymax)
Sets the lattice values and scale. Values are in row-major format such that the index corresponds to iy*ny+ix.

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

setAll

public void setAll(int[] v)
Sets an array v of int values into the lattice, starting at (x=0,y=0). Values are in row-major format such that the index corresponds to iy*ny+ix.

Parameters:
v -

getAtIndex

public int getAtIndex(int i)
Gets the ith indexed cell of the lattice Values are in row-major format such that the index corresponds to iy*ny+ix.

Parameters:
i -
Returns:
value indexed by i

getValue

public int getValue(int ix,
                    int iy)
Gets the (x,y) value of the lattice.

Parameters:
ix -
iy -
Returns:
value at (ix,iy)

getAll

public int[] getAll()
Gets the entire lattice contents in an int array. Values are in row-major format such that the index corresponds to iy*ny+ix.

Returns:
array containing entire lattice contents

setToggleOnClick

public void setToggleOnClick(boolean enable,
                             int v1,
                             int v2)
Sets an action to toggle the grid betweem the given values when the mouse is pressed.

Parameters:
enable - boolean
v1 - int
v2 - int

indexFromPoint

public int indexFromPoint(double x,
                          double y)
Determines the lattice index (row-major order) from given x and y world coordinates

Parameters:
x -
y -
Returns:
index