Package uk.ac.starlink.topcat.plot

## Class HistogramWindow

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - java.awt.Window
      - - java.awt.Frame
        - - javax.swing.JFrame
          - - uk.ac.starlink.topcat.AuxWindow
            - - uk.ac.starlink.topcat.plot.GraphicsWindow
              - - uk.ac.starlink.topcat.plot.HistogramWindow

- All Implemented Interfaces:
    `java.awt.image.ImageObserver`, `java.awt.MenuContainer`, `java.io.Serializable`, `javax.accessibility.Accessible`, `javax.swing.RootPaneContainer`, `javax.swing.WindowConstants`

      public class HistogramWindow
      extends GraphicsWindow

  GraphicsWindow which presents one-dimensional data as a histogram.
  Since:
    11 Nov 2005
  Author:
    Mark Taylor
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class uk.ac.starlink.topcat.plot.GraphicsWindow

      `GraphicsWindow.ExportAction, GraphicsWindow.ReplotListener`

    - ### 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, java.awt.Window.Type`

    - ### 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

    - ### Fields inherited from class javax.swing.JFrame

      `accessibleContext, 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.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

    - ### Fields inherited from interface javax.swing.WindowConstants

      `DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `HistogramWindow​(java.awt.Component parent)` | Constructs a new histogram window.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `uk.ac.starlink.ttools.plot.Range[]` | `calculateRanges​(uk.ac.starlink.ttools.plot.PlotData data, uk.ac.starlink.ttools.plot.PlotState state)` | Calculates data ranges for a given data set.
    `protected uk.ac.starlink.ttools.plot.PlotState` | `createPlotState()` | Constructs a new PlotState.
    `protected PointSelector` | `createPointSelector()` | Returns a new PointSelector instance to be used for selecting points to be plotted.
    `protected StyleEditor` | `createStyleEditor()` | Creates a style editor suitable for this window.
    `uk.ac.starlink.ttools.plot.StyleSet` | `getDefaultStyles​(int npoint)` | Returns a StyleSet which can supply markers.
    `int` | `getMainRangeCount()` | Returns the number of axes whose ranges can be reset excluding any auxiliary axes.
    `protected javax.swing.JComponent` | `getPlotPanel()` | Returns the component containing the graphics output of this window.
    `uk.ac.starlink.ttools.plot.PlotState` | `getPlotState()` | Returns an object which characterises the choices the user has made in the GUI to indicate the plot that s/he wants to see.
    `uk.ac.starlink.ttools.plot.StyleSet[]` | `getStyleSets()` |

    - ### Methods inherited from class uk.ac.starlink.topcat.plot.GraphicsWindow

      `addExtraAxes, addNewSubsets, createErrorModeMenu, createErrorModeModels, createErrorRendererMenu, createMarkerStyleMenu, dispose, doReplot, fixDefaultErrorRenderers, getAuxAxisCount, getAxisEditAction, getAxisWindow, getColumnIndex, getDataRanges, getErrorModeModels, getExportMenu, getExtrasPanel, getFlipModels, getGridModel, getLegendModel, getLogModels, getPadRatio, getPlot, getPoints, getPointSelectors, getPointSelectorToolBar, getReplotAction, getReplotListener, getRescaleAction, getStandardMarkStyleSets, getStatusBox, getStyles, getViewRanges, getVisibleAuxAxisCount, init, isLegendInteresting, replot, setGuidePointCount, setMainTable, setPadRatio, setStyles, setVisible`

    - ### Methods inherited from class uk.ac.starlink.topcat.AuxWindow

      `addHelp, beep, confirm, createImportTableAction, createSaveTableAction, getBodyPanel, getControlPanel, getHelpMenu, getIconImage, getMainArea, getSponsorLogos, getToolBar, getWindowMenu, makeTitledBorder, makeVisible, placeProgressBar, positionAfter, recursiveSetEnabled, setBusy, setCloseIsExit, setMainHeading`

    - ### 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, 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, 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`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface java.awt.MenuContainer

      `getFont, postEvent`

- - ### Constructor Detail

    - #### HistogramWindow

          public HistogramWindow​(java.awt.Component parent)

      Constructs a new histogram window.
      Parameters:
        `parent` - parent component (may be used for positioning)

  - ### Method Detail

    - #### getPlotPanel

          protected javax.swing.JComponent getPlotPanel()

      Description copied from class: `GraphicsWindow`
      Returns the component containing the graphics output of this window. This is the component which is exported or printed etc alongside the legend which is managed by GraphicsWindow. It should therefore contain only the output data, not any user interface decoration.
      Specified by:
        `getPlotPanel` in class `GraphicsWindow`
      Returns:
        plot container

    - #### createPointSelector

          protected PointSelector createPointSelector()

      Description copied from class: `GraphicsWindow`
      Returns a new PointSelector instance to be used for selecting points to be plotted.
      Overrides:
        `createPointSelector` in class `GraphicsWindow`
      Returns:
        new point selector component

    - #### getMainRangeCount

          public int getMainRangeCount()

      Description copied from class: `GraphicsWindow`
      Returns the number of axes whose ranges can be reset excluding any auxiliary axes.
      Overrides:
        `getMainRangeCount` in class `GraphicsWindow`

    - #### getDefaultStyles

          public uk.ac.starlink.ttools.plot.StyleSet getDefaultStyles​(int npoint)

      Description copied from class: `GraphicsWindow`
      Returns a StyleSet which can supply markers. The `npoint` may be used as a hint for how many points are expected to be drawn with it.
      Specified by:
        `getDefaultStyles` in class `GraphicsWindow`
      Parameters:
        `npoint` - approximate number of points - use -1 for unknown
      Returns:
        style factory

    - #### getStyleSets

          public uk.ac.starlink.ttools.plot.StyleSet[] getStyleSets()

    - #### createStyleEditor

          protected StyleEditor createStyleEditor()

      Description copied from class: `GraphicsWindow`
      Creates a style editor suitable for this window.
      Specified by:
        `createStyleEditor` in class `GraphicsWindow`
      Returns:
        new style editor

    - #### createPlotState

          protected uk.ac.starlink.ttools.plot.PlotState createPlotState()

      Description copied from class: `GraphicsWindow`
      Constructs a new PlotState. This is called by `GraphicsWindow.getPlotState()` prior to the PlotState configuration done there. Thus if a subclass wants to provide and configure a particular state (for instance one of a specialised subclass of PlotState) it can override this method to do so. The default implementation just invokes `new PlotState()`.
      Overrides:
        `createPlotState` in class `GraphicsWindow`
      Returns:
        returns a new PlotState object ready for generic configuration

    - #### getPlotState

          public uk.ac.starlink.ttools.plot.PlotState getPlotState()

      Description copied from class: `GraphicsWindow`
      Returns an object which characterises the choices the user has made in the GUI to indicate the plot that s/he wants to see.

      The `GraphicsWindow` implementation of this method as well as populating the state with standard information also calls `PointSelection.readPoints(javax.swing.BoundedRangeModel)` and `GraphicsWindow.calculateRanges(uk.ac.starlink.topcat.plot.PointSelection, uk.ac.starlink.topcat.plot.Points, uk.ac.starlink.ttools.plot.PlotState)` if necessary.

      Overrides:
        `getPlotState` in class `GraphicsWindow`
      Returns:
        snapshot of the currently-selected plot request

    - #### calculateRanges

          public uk.ac.starlink.ttools.plot.Range[] calculateRanges​(uk.ac.starlink.ttools.plot.PlotData data,
                                                                    uk.ac.starlink.ttools.plot.PlotState state)

      Description copied from class: `GraphicsWindow`
      Calculates data ranges for a given data set. The returned Range array is the one which will be returned from future calls of `GraphicsWindow.getDataRanges()`.
      Overrides:
        `calculateRanges` in class `GraphicsWindow`
      Parameters:
        `data` - point data for the plot
        `state` - plot state
      Returns:
        ranges