Package org.opensourcephysics.frames
Class FFTFrame
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
org.opensourcephysics.display.OSPFrame
org.opensourcephysics.display.DrawingFrame
org.opensourcephysics.frames.FFTFrame
- All Implemented Interfaces:
ClipboardOwner,ImageObserver,MenuContainer,Serializable,Accessible,RootPaneContainer,WindowConstants,AppFrame,Hidable
FFTFrame computes the FFT and displays the result using a ComplexDataset.
- Version:
- 1.0
- Author:
- W. Christian
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.opensourcephysics.display.DrawingFrame
DrawingFrame.DrawingFrameLoaderNested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrameNested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrameNested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.TypeNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ComplexDatasetprotected DataTableprotected intstatic final intstatic final intstatic final intstatic final intprotected DataTableFramestatic final intFields inherited from class org.opensourcephysics.display.DrawingFrame
copyItem, customInspector, drawingPanel, editMenu, fileMenu, MENU_SHORTCUT_KEY_MASK, pasteItem, replaceItem, replyFields inherited from class org.opensourcephysics.display.OSPFrame
action, animated, autoclear, buttonPanel, childFrames, constructorThreadGroup, customButtons, keepHidden, myFontLevel, strategyFields inherited from class javax.swing.JFrame
accessibleContext, rootPane, rootPaneCheckingEnabledFields 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_CURSORFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidAdds Views menu items on the menu bar.voidClears all the stored complex data.voidRemoves drawable objects added by the user from this frame.voidvoidvoidvoiddoFFT(double[] data, double xmin, double xmax) Does an FFT of the given data array.voidDoes an FFT of the given real and imaginary function.voiddoRealFFT(double[] data, double xmin, double xmax) Does an FFT of the given data.Gets Drawable objects added by the user to this frame.getDrawables(Class<T> c) Gets Drawable objects added by the user of an assignable type.voidsetDomainType(int type) Sets the units for the FFT output.voidsetLogScale(boolean xlog, boolean ylog) Sets the axes to use a logarithmetic scale.voidsetXYColumnNames(String xlabel, String reLabel, String imLabel) Sets the labels on the data table.voidshowDataTable(boolean show) Shows or hides the data table.voidShows how phase angle is mapped to color.Methods inherited from class org.opensourcephysics.display.DrawingFrame
addDrawable, clearDataAndRepaint, copyAction, getAxes, getDrawablesExcept, getDrawablesNoClone, 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, setMessage, setMessage, setPixelsPerUnit, setPolar, setPreferredMinMax, setPreferredMinMaxX, setPreferredMinMaxY, setSquareAspect, setXLabel, setYLabelMethods 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, setResizeAction, setSize, setTitle, setVisible, show, wishesToExitMethods 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, updateMethods 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, setUndecoratedMethods 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, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setType, toBack, toFrontMethods 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, validateTreeMethods 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.opensourcephysics.display.AppFrame
getDefaultCloseOperationMethods inherited from interface java.awt.MenuContainer
getFont, postEvent
-
Field Details
-
MODE
public static final int MODE- See Also:
-
FREQ
public static final int FREQ- See Also:
-
OMEGA
public static final int OMEGA- See Also:
-
WAVENUMBER
public static final int WAVENUMBER- See Also:
-
MOMENTUM
public static final int MOMENTUM- See Also:
-
domainType
protected int domainType -
complexDataset
-
dataTable
-
tableFrame
-
-
Constructor Details
-
FFTFrame
A DrawingFrame that displays a FFT as its drawable.- Parameters:
xlabel- Stringylabel- Stringtitle- String
-
-
Method Details
-
addMenuItems
protected void addMenuItems()Adds Views menu items on the menu bar.- Overrides:
addMenuItemsin classDrawingFrame
-
setXYColumnNames
Sets the labels on the data table. The xlabel resets the x axis label on the plot.- Parameters:
xlabel- StringreLabel- StringimLabel- String
-
setDomainType
public void setDomainType(int type) Sets the units for the FFT output. Domain types are: MODE, FREQ, OMEGA, WAVENUMBER, MOMENTUM- Parameters:
type- int
-
convertToPostView
public void convertToPostView() -
convertToAmpAndPhaseView
public void convertToAmpAndPhaseView() -
convertToPhaseBarView
public void convertToPhaseBarView() -
doFFT
Does an FFT of the given real and imaginary function. The function is evaulauted on the interval [xmin, xmax). Note that the endpoint, xmax, is excluded.- Parameters:
reF- function the real part of the function.imF- function the imaginary part of the function.xmin- doublexmax- doublen- int number of compelx data points
-
doRealFFT
public void doRealFFT(double[] data, double xmin, double xmax) Does an FFT of the given data. The array is assumed to contain real numbers. The given array remains unchanged.- Parameters:
data- double[]xmin- doublexmax- double
-
doFFT
public void doFFT(double[] data, double xmin, double xmax) Does an FFT of the given data array. The data array is assumed to contain complex numbers stored as successive (re,im) pairs. The given array remains unchanged.- Parameters:
data- double[]xmin- doublexmax- double
-
getDrawables
Gets Drawable objects added by the user to this frame.- Overrides:
getDrawablesin classDrawingFrame- Returns:
- the list
-
clearDrawables
public void clearDrawables()Removes drawable objects added by the user from this frame.- Overrides:
clearDrawablesin classDrawingFrame
-
getDrawables
Gets Drawable objects added by the user of an assignable type. The list contains objects that are assignable from the class or interface.- Overrides:
getDrawablesin classDrawingFrame- Parameters:
c- the type of Drawable object- Returns:
- the cloned list
- See Also:
-
clearData
public void clearData()Clears all the stored complex data. -
setLogScale
public void setLogScale(boolean xlog, boolean ylog) Sets the axes to use a logarithmetic scale.- Overrides:
setLogScalein classDrawingFrame
-
showLegend
public void showLegend()Shows how phase angle is mapped to color. -
showDataTable
public void showDataTable(boolean show) Shows or hides the data table.- Parameters:
show- boolean
-