org.opensourcephysics.frames
Class HistogramFrame

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.HistogramFrame
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 HistogramFrame
extends DrawingFrame

HistogramFrame displays a histogram using a dedicated Histogram object.

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

Nested Class Summary
protected static class HistogramFrame.HistogramFrameLoader
           
 
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  DataTable dataTable
           
protected  Histogram histogram
           
protected  DataTableFrame tableFrame
           
 
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
HistogramFrame(java.lang.String xlabel, java.lang.String ylabel, java.lang.String title)
          A DrawingFrame with a Histogram as its drawable.
 
Method Summary
protected  void addMenuItems()
          Adds Views menu items on the menu bar.
 void append(double v)
          Appends a data point to the histogram.
 void append(double[] values)
          Appends an array of values with 1 occurence.
 void append(double value, double numberOfOccurences)
          Append a value with number of occurences to the Histogram.
 void clearData()
          Clears all the data stored.
 void clearDrawables()
          Removes drawable objects added by the user from this frame.
 double getBinWidth()
          Gets the width of the bins.
 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.
static XML.ObjectLoader getLoader()
           
 double[][] getLogPoints()
          Gets an array containing the log values of the values stored in the bins.
 double[][] getPoints()
          Gets a data array containing both the bin centers and the values within the bins.
 double[] getXPoints()
          Gets an array containing the bin centers.
 double[] getYPoints()
          Gets an array containing the values stored in the bins.
 boolean isLogScale()
          Gets the histogram's log scale value.
protected  javax.swing.JMenu loadToolsMenu()
          Adds launchable tools to the specified menu.
 void positiveX()
          Makes the x axis positive by default.
 void setBinColor(java.awt.Color fillColor, java.awt.Color edgeColor)
          Sets the bin's fill and edge colors.
 void setBinOffset(double binOffset)
          Sets the offset of the bins.
 void setBinStyle(short style)
          Sets the style for drawing this histogram.
 void setBinWidth(double binWidth)
          Sets the width of the bins.
 void setDiscrete(boolean b)
          Sets the discrete flag in the histogram.
 void setLogScale(boolean b)
          Histogram uses logarithmic scale (true/false)
 void setNormalizedToOne(boolean b)
          Normalizes the occurrences in this histogram to one (true/false).
 void setXYColumnNames(java.lang.String xColumnName, java.lang.String yColumnName, java.lang.String histogramName)
          Sets the column names and the dataset name.
 void showDataTable(boolean show)
          Shows or hides the data table.
 
Methods inherited from class org.opensourcephysics.display.DrawingFrame
addDrawable, clearDataAndRepaint, copyAction, getAxes, getDrawingPanel, getObjectOfClass, inspectXML, invalidateImage, isAutoscaleX, isAutoscaleY, limitAutoscaleX, limitAutoscaleY, loadDisplayMenu, 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

histogram

protected Histogram histogram

dataTable

protected DataTable dataTable

tableFrame

protected DataTableFrame tableFrame
Constructor Detail

HistogramFrame

public HistogramFrame(java.lang.String xlabel,
                      java.lang.String ylabel,
                      java.lang.String title)
A DrawingFrame with a Histogram as its drawable.

Parameters:
xlabel - String
ylabel - String
title - String
Method Detail

setXYColumnNames

public void setXYColumnNames(java.lang.String xColumnName,
                             java.lang.String yColumnName,
                             java.lang.String histogramName)
Sets the column names and the dataset name.

Parameters:
datasetIndex - The new xYColumnNames value
xColumnName -
yColumnName -
datasetName -

addMenuItems

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

Overrides:
addMenuItems in class DrawingFrame

loadToolsMenu

protected javax.swing.JMenu loadToolsMenu()
Adds launchable tools to the specified menu.

Overrides:
loadToolsMenu in class DrawingFrame

getXPoints

public double[] getXPoints()
Gets an array containing the bin centers.

Returns:
the bins

getYPoints

public double[] getYPoints()
Gets an array containing the values stored in the bins.

Returns:
the values of the bins

getLogPoints

public double[][] getLogPoints()
Gets an array containing the log values of the values stored in the bins.

Returns:
the values of the bins

getPoints

public double[][] getPoints()
Gets a data array containing both the bin centers and the values within the bins.

Returns:
a double[index][2] array of data

clearDrawables

public void clearDrawables()
Removes 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 all the data stored.

Overrides:
clearData in class OSPFrame

append

public void append(double v)
Appends a data point to the histogram.

Parameters:
v - data point

append

public void append(double value,
                   double numberOfOccurences)
Append a value with number of occurences to the Histogram.

Parameters:
value -
numberOfOccurences -

append

public void append(double[] values)
Appends an array of values with 1 occurence.

Parameters:
values -

setDiscrete

public void setDiscrete(boolean b)
Sets the discrete flag in the histogram.

Parameters:
b - true<\code> if bins are discrete, false<\code> if bins are continuous.

setLogScale

public void setLogScale(boolean b)
Histogram uses logarithmic scale (true/false)


isLogScale

public boolean isLogScale()
Gets the histogram's log scale value.

Returns:
boolean

setBinWidth

public void setBinWidth(double binWidth)
Sets the width of the bins.

Parameters:
binWidth -

getBinWidth

public double getBinWidth()
Gets the width of the bins.

Parameters:
binWidth -

setBinColor

public void setBinColor(java.awt.Color fillColor,
                        java.awt.Color edgeColor)
Sets the bin's fill and edge colors. If the fill color is null the bin is not filled.

Parameters:
fillColor -
edgeColor -

setBinStyle

public void setBinStyle(short style)
Sets the style for drawing this histogram. Options are DRAW_POINT, which draws a point at the top of the bin, and DRAW_BIN which draws the entire bin down to the x axis. Default is DRAW_BIN.

Parameters:
style -

setBinOffset

public void setBinOffset(double binOffset)
Sets the offset of the bins. Default is 0. A value will be appended to bin n if n*binWidth +binOffset <= value < (n+1)*binWidth +binOffset

Parameters:
binOffset -

setNormalizedToOne

public void setNormalizedToOne(boolean b)
Normalizes the occurrences in this histogram to one (true/false).


positiveX

public void positiveX()
Makes the x axis positive by default.


showDataTable

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

Parameters:
show - boolean

getLoader

public static XML.ObjectLoader getLoader()