babase.ranker
Class InteractionMatrixDisplay

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by babase.ranker.InteractionMatrixDisplay
All Implemented Interfaces:
RankingChangedListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class InteractionMatrixDisplay
extends javax.swing.JPanel
implements RankingChangedListener

Implements the display of the interaction matrix according to the current ranking.

Author:
junyang
See Also:
Serialized Form

Nested Class Summary
static class InteractionMatrixDisplay.DisplayEntry
          Implements the display of a particular entry in the interaction matrix.
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  InteractionMatrixDisplay.DisplayEntry[][] _displayEntries
          A 2D array of Swing objects that display the entries of the interaction matrix according the current ranking.
private  javax.swing.ButtonGroup _displayGroup
          Used to ensure that at most one of the display entries can be selected.
private  javax.swing.JToggleButton _displayNoneSelected
          An invisible button in _displayGroup which, when selected, unselects all display entries.
private  int[][] _matrix
          The interaction matrix.
private  Ranking _ranks
          The ranking.
private static long serialVersionUID
          Compiler-generated serialVersionUID.
 
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
InteractionMatrixDisplay(Ranking ranks, int[][] matrix)
           
 
Method Summary
 int getDisplayCellHeight()
           
 int getDisplayCellWidth()
           
 Ranking getRanks()
           
 void rankingChanged(RankingChangeEvent e)
          This method will be invoked on the listerner object immediately after the Ranking object being listened to changes.
 void refresh()
          Refresh the entire display.
private  void refreshDisplayEntry(int i, int j)
          Update the display at position (i, j), usually in response to a ranking change.
 void selectDisplayEntry(int i, int j)
          Select the interaction matrix entry currently displayed at position (i, j), which corresponds to the number of interactions with the i-th (0-based) ranked individual as the actor and j-th ranked individual as the actee.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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
 
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, 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

serialVersionUID

private static final long serialVersionUID
Compiler-generated serialVersionUID.

See Also:
Constant Field Values

_ranks

private final Ranking _ranks
The ranking. This InteractionMatrixDisplay object will not alter this ranking, but will listen to any changes made to it and adjust the display of the interaction matrix accordingly.


_matrix

private final int[][] _matrix
The interaction matrix. The content of this matrix will not be altered by this InteractionMatrixDisplay object.


_displayEntries

private final InteractionMatrixDisplay.DisplayEntry[][] _displayEntries
A 2D array of Swing objects that display the entries of the interaction matrix according the current ranking.


_displayGroup

private final javax.swing.ButtonGroup _displayGroup
Used to ensure that at most one of the display entries can be selected.


_displayNoneSelected

private final javax.swing.JToggleButton _displayNoneSelected
An invisible button in _displayGroup which, when selected, unselects all display entries.

Constructor Detail

InteractionMatrixDisplay

public InteractionMatrixDisplay(Ranking ranks,
                                int[][] matrix)
Method Detail

getRanks

public Ranking getRanks()

getDisplayCellWidth

public int getDisplayCellWidth()

getDisplayCellHeight

public int getDisplayCellHeight()

selectDisplayEntry

public void selectDisplayEntry(int i,
                               int j)
Select the interaction matrix entry currently displayed at position (i, j), which corresponds to the number of interactions with the i-th (0-based) ranked individual as the actor and j-th ranked individual as the actee.

Parameters:
i -
j -

refreshDisplayEntry

private void refreshDisplayEntry(int i,
                                 int j)
Update the display at position (i, j), usually in response to a ranking change. The entry displayed at this position corresponds to the number of interactions with the i-th (0-based) ranked individual as the actor and j-th ranked individual as the actee. If position (i, j) is previously selected, it will be unselected, because this refresh may be responding to a change involving the selected entry.

Parameters:
i -
j -

refresh

public void refresh()
Refresh the entire display.


rankingChanged

public void rankingChanged(RankingChangeEvent e)
Description copied from interface: RankingChangedListener
This method will be invoked on the listerner object immediately after the Ranking object being listened to changes.

Specified by:
rankingChanged in interface RankingChangedListener