org.strbio.util
Class DensityPlot

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by org.strbio.util.DensityPlot
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class DensityPlot
extends javax.swing.JComponent

A component that displays a density plot (an overhead view of a matrix, with squares colored by value).

  Version 1.21, 4/30/07 - moved test case to examples/densityplot
  Version 1.2, 8/4/98 - added mask matrix option.
  Version 1.1, 7/8/98 - added orientation options, autoscaling options.
    doesn't copy matrix.
  Version 1.0, 7/2/98 - original version.
  

Version:
1.2, 8/4/98
Author:
JMC
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static int FLIP_X
          Flip the plot left-right (i.e. 0 on the right, going left)
static int FLIP_Y
          Flip the plot up-down (i.e. 0 on the bottom, going up)
protected  boolean flipX
           
protected  boolean flipY
           
protected  boolean[][] mask
          A 2-d array of booleans showing which positions to draw and which not to.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
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
 
Constructor Summary
DensityPlot(DMatrix x, ColorScale c)
          A density plot needs a matrix and a color scale to draw it with.
 
Method Summary
 ColorScale getColorScale()
          Return the color scale being used.
 boolean[][] getMask()
          Returns the current mask matrix.
 DMatrix getMatrix()
          Returns a copy of the matrix being drawn.
 double getMax()
          Returns the maximum value currently being plotted.
 double getMin()
          Returns the minimum value currently being plotted.
 java.awt.Dimension getMinimumSize()
           
 java.awt.Dimension getPreferredSize()
           
 void paintComponent(java.awt.Graphics g)
           
 void reRender()
           
 void setColorScale(ColorScale x)
          Set the color scale to use.
 void setMask(boolean[][] x)
          Sets the current mask matrix; does not make a copy.
 void setMatrix(DMatrix x)
          Set the matrix being drawn.
 void setMax(double x)
          Set the maximum value to plot... turns off autoscaling of the maximum.
 void setMin(double x)
          Set the minimum value to plot... turns off autoscaling of the minimum.
 void setOrientation(int orientation)
          Set the preferred orientation.
 void setSize(int x, int y)
          Set the preferred size.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

mask

protected boolean[][] mask
A 2-d array of booleans showing which positions to draw and which not to.


FLIP_X

public static final int FLIP_X
Flip the plot left-right (i.e. 0 on the right, going left)

See Also:
Constant Field Values

FLIP_Y

public static final int FLIP_Y
Flip the plot up-down (i.e. 0 on the bottom, going up)

See Also:
Constant Field Values

flipY

protected boolean flipY

flipX

protected boolean flipX
Constructor Detail

DensityPlot

public DensityPlot(DMatrix x,
                   ColorScale c)
A density plot needs a matrix and a color scale to draw it with.

Method Detail

getColorScale

public ColorScale getColorScale()
Return the color scale being used.


setColorScale

public void setColorScale(ColorScale x)
Set the color scale to use.


getMatrix

public DMatrix getMatrix()
Returns a copy of the matrix being drawn.


getMin

public double getMin()
Returns the minimum value currently being plotted.


getMax

public double getMax()
Returns the maximum value currently being plotted.


setMin

public void setMin(double x)
Set the minimum value to plot... turns off autoscaling of the minimum. When set to NaN, turns on autoscaling.


setMax

public void setMax(double x)
Set the maximum value to plot... turns off autoscaling of the maximum. When set to NaN, turns on autoscaling.


setMatrix

public void setMatrix(DMatrix x)
Set the matrix being drawn. Does not make a copy of the matrix.


getMask

public boolean[][] getMask()
Returns the current mask matrix.


setMask

public void setMask(boolean[][] x)
Sets the current mask matrix; does not make a copy. Will crash if mask is the wrong size.


getMinimumSize

public java.awt.Dimension getMinimumSize()
Overrides:
getMinimumSize in class javax.swing.JComponent

getPreferredSize

public java.awt.Dimension getPreferredSize()
Overrides:
getPreferredSize in class javax.swing.JComponent

setSize

public void setSize(int x,
                    int y)
Set the preferred size.

Overrides:
setSize in class java.awt.Component

setOrientation

public void setOrientation(int orientation)
Set the preferred orientation.


paintComponent

public void paintComponent(java.awt.Graphics g)
Overrides:
paintComponent in class javax.swing.JComponent

reRender

public void reRender()