edu.princeton.repeatedgames.rgsolve.components
Class SolutionGraph

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 edu.princeton.plot.Plot2D
                      extended by edu.princeton.repeatedgames.rgsolve.components.SolutionGraph
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.AdjustmentListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ChangeListener

public class SolutionGraph
extends Plot2D
implements javax.swing.event.ChangeListener

TODO Put here a description of what this class does.

Author:
Moshe. Created Jan 27, 2013.
See Also:
Serialized Form

Nested Class Summary
 class SolutionGraph.SolutionWrapperPanel
           
 
Nested classes/interfaces inherited from class edu.princeton.plot.Plot2D
Plot2D.GeneralWrapperPanel
 
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
(package private)  javax.swing.JSlider actionSlider
           
(package private)  int actionSliderValue
           
(package private)  javax.swing.border.TitledBorder actSlidBrd
           
(package private)  java.util.HashMap<java.lang.Integer,java.lang.Integer> actSliderMap
           
(package private)  boolean addToolbar
           
(package private)  AlgoParameters.ALGO_TYPE algo_type
           
(package private)  java.util.HashMap<java.lang.Integer,java.lang.Integer> allActionMap
           
(package private)  int[] BR1
           
(package private)  int[] BR2
           
private static java.awt.Color CONTIN_EXT_PT_COLOR
           
(package private)  boolean converged
           
(package private) static java.awt.Color DARK_PURPLE
           
(package private)  java.awt.Stroke dash
           
(package private)  java.awt.Stroke dashFeasible
           
(package private)  double delta
           
(package private)  DigitSpinner digitSpinner
           
(package private)  boolean doNothingOnChange
           
(package private)  javax.swing.JCheckBox enableAllActions
           
static int END_ITER
           
private static java.awt.Color EXPECTED_CONTIN_COLOR
           
(package private)  javax.swing.border.TitledBorder extPtSlidBrd
           
(package private)  javax.swing.JSlider extPtSlider
           
(package private)  javax.swing.border.TitledBorder fullAlgoSlidBrd
           
(package private)  javax.swing.JSlider fullAlgoSlider
           
(package private)  Game game
           
(package private)  javax.swing.JButton gotoCont1
           
(package private)  javax.swing.JButton gotoCont2
           
(package private)  boolean haveIcons
           
(package private)  javax.swing.JTextArea info
           
(package private)  java.util.ArrayList<RGIter> iterList
           
(package private)  int iters
           
(package private)  javax.swing.border.TitledBorder iterSlidBrd
           
(package private)  javax.swing.JSlider iterSlider
           
(package private)  int iterSliderValue
           
(package private)  boolean keptActions
           
(package private) static java.awt.Color LIGHT_RED
           
(package private)  java.util.ArrayList<java.lang.Integer> numActSlidValsPerIter
           
(package private)  int outputDigits
           
(package private)  javax.swing.ImageIcon PAUSE
           
(package private)  javax.swing.JButton pauseButton
           
(package private)  Point[] payoffHull
           
(package private)  javax.swing.ImageIcon PLAY
           
 RGSolution retObject
           
(package private)  int showCounter
           
(package private)  int showCounterMax
           
(package private)  javax.swing.JButton showFullAlgo
           
(package private)  boolean showingAlgoNow
           
(package private)  javax.swing.JCheckBox showKey
           
(package private)  javax.swing.JCheckBox showPrevPts
           
(package private)  javax.swing.JCheckBox showPunishment
           
(package private)  javax.swing.JComboBox showSpeeds
           
(package private)  javax.swing.JCheckBox showVertices
           
static int START_ITER
           
(package private)  javax.swing.ImageIcon STOP
           
(package private)  javax.swing.Timer timer
           
(package private)  java.lang.String title
           
(package private) static java.awt.Color TRANSP_RED
           
(package private)  GameExtremePoint[] V_star
           
 SolutionGraph.SolutionWrapperPanel wrapper
           
 
Fields inherited from class edu.princeton.plot.Plot2D
aliasing, antiAlias, border, DELAY, doNotPaintMain, gridLineColor, hashX, hashY, IMAGES_FOLDER, isUniformAxis, maxX, maxX_fin, maxY, maxY_fin, minX, minX_fin, minY, minY_fin, paintGrid, paintGridItem, topPanel, uniformBounds, zoom_get_x, zoom_get_y
 
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
SolutionGraph(RGSolution retObject, boolean addToolbar)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void adjustmentValueChanged(java.awt.event.AdjustmentEvent e)
           
 double bestResponseProfit(int a1, int a2, int player)
           
 Plot2D clonePlot()
           
 Plot2D clonePlot(boolean addToolbar)
           
 void disableContButtons()
           
 void enableContButtons(GameExtremePoint extPt)
           
 SolutionGraph getCopy(boolean addToolbar)
           
private  javax.swing.JSlider getFullAlgoSlider()
           
 java.awt.Component getPlotKey()
           
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void paintComponent(java.awt.Graphics g)
           
 void paintComponentMainPanel(java.awt.Graphics g)
           
private  void setActSliderMap(int iter)
           
 void setInitialPlotBounds()
           
 void showCompleteAlgorithm()
           
static javax.swing.JFrame showSolutionPanel(RGSolution rgsro)
          Shows the solution contained in this object.
 void stateChanged(javax.swing.event.ChangeEvent e)
           
 void stopCompleteAlgorithm()
           
private  void updateFullAlgoSlider()
           
 
Methods inherited from class edu.princeton.plot.Plot2D
checkBounds, checkBounds, copyImage, drawCircle, drawLine, drawPolygon, drawSquare, fillCircle, fillSquare, getWrapper, getXPixel, getYPixel, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, paintGridLines, paintHashMarks, saveImage, setAntiAlias, setPaintGrid, setPlotBounds, setTitle, setUniformBounds, setXAxis, setYAxis, showNewWindow, showPlotKey
 
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, 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

addToolbar

boolean addToolbar

numActSlidValsPerIter

java.util.ArrayList<java.lang.Integer> numActSlidValsPerIter

actSliderMap

java.util.HashMap<java.lang.Integer,java.lang.Integer> actSliderMap

allActionMap

java.util.HashMap<java.lang.Integer,java.lang.Integer> allActionMap

START_ITER

public static final int START_ITER
See Also:
Constant Field Values

END_ITER

public static final int END_ITER
See Also:
Constant Field Values

CONTIN_EXT_PT_COLOR

private static final java.awt.Color CONTIN_EXT_PT_COLOR

EXPECTED_CONTIN_COLOR

private static final java.awt.Color EXPECTED_CONTIN_COLOR

actionSliderValue

int actionSliderValue

iterSliderValue

int iterSliderValue

title

java.lang.String title

outputDigits

int outputDigits

digitSpinner

DigitSpinner digitSpinner

doNothingOnChange

boolean doNothingOnChange

timer

javax.swing.Timer timer

iterSlider

javax.swing.JSlider iterSlider

actionSlider

javax.swing.JSlider actionSlider

extPtSlider

javax.swing.JSlider extPtSlider

fullAlgoSlider

javax.swing.JSlider fullAlgoSlider

iterSlidBrd

javax.swing.border.TitledBorder iterSlidBrd

actSlidBrd

javax.swing.border.TitledBorder actSlidBrd

extPtSlidBrd

javax.swing.border.TitledBorder extPtSlidBrd

fullAlgoSlidBrd

javax.swing.border.TitledBorder fullAlgoSlidBrd

showFullAlgo

javax.swing.JButton showFullAlgo

pauseButton

javax.swing.JButton pauseButton

gotoCont1

javax.swing.JButton gotoCont1

gotoCont2

javax.swing.JButton gotoCont2

showSpeeds

javax.swing.JComboBox showSpeeds

showingAlgoNow

boolean showingAlgoNow

showCounter

int showCounter

showCounterMax

int showCounterMax

showPrevPts

javax.swing.JCheckBox showPrevPts

showVertices

javax.swing.JCheckBox showVertices

enableAllActions

javax.swing.JCheckBox enableAllActions

showPunishment

javax.swing.JCheckBox showPunishment

showKey

javax.swing.JCheckBox showKey

keptActions

boolean keptActions

game

Game game

delta

double delta

BR1

int[] BR1

BR2

int[] BR2

iters

int iters

V_star

GameExtremePoint[] V_star

payoffHull

Point[] payoffHull

algo_type

AlgoParameters.ALGO_TYPE algo_type

iterList

java.util.ArrayList<RGIter> iterList

converged

boolean converged

info

javax.swing.JTextArea info

dash

java.awt.Stroke dash

dashFeasible

java.awt.Stroke dashFeasible

DARK_PURPLE

static java.awt.Color DARK_PURPLE

LIGHT_RED

static java.awt.Color LIGHT_RED

TRANSP_RED

static java.awt.Color TRANSP_RED

wrapper

public SolutionGraph.SolutionWrapperPanel wrapper

retObject

public RGSolution retObject

PLAY

javax.swing.ImageIcon PLAY

STOP

javax.swing.ImageIcon STOP

PAUSE

javax.swing.ImageIcon PAUSE

haveIcons

boolean haveIcons
Constructor Detail

SolutionGraph

public SolutionGraph(RGSolution retObject,
                     boolean addToolbar)
Method Detail

getFullAlgoSlider

private javax.swing.JSlider getFullAlgoSlider()

setActSliderMap

private void setActSliderMap(int iter)

adjustmentValueChanged

public void adjustmentValueChanged(java.awt.event.AdjustmentEvent e)
Specified by:
adjustmentValueChanged in interface java.awt.event.AdjustmentListener

setInitialPlotBounds

public void setInitialPlotBounds()
Specified by:
setInitialPlotBounds in class Plot2D

clonePlot

public Plot2D clonePlot()
Specified by:
clonePlot in class Plot2D

clonePlot

public Plot2D clonePlot(boolean addToolbar)

paintComponent

public void paintComponent(java.awt.Graphics g)
Overrides:
paintComponent in class Plot2D

paintComponentMainPanel

public void paintComponentMainPanel(java.awt.Graphics g)
Specified by:
paintComponentMainPanel in class Plot2D

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener
Specified by:
actionPerformed in class Plot2D

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent e)
Specified by:
stateChanged in interface javax.swing.event.ChangeListener

updateFullAlgoSlider

private void updateFullAlgoSlider()

showCompleteAlgorithm

public void showCompleteAlgorithm()

stopCompleteAlgorithm

public void stopCompleteAlgorithm()

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener
Overrides:
mouseClicked in class Plot2D

getCopy

public SolutionGraph getCopy(boolean addToolbar)

getPlotKey

public java.awt.Component getPlotKey()
Specified by:
getPlotKey in class Plot2D

bestResponseProfit

public double bestResponseProfit(int a1,
                                 int a2,
                                 int player)

showSolutionPanel

public static javax.swing.JFrame showSolutionPanel(RGSolution rgsro)
Shows the solution contained in this object.


disableContButtons

public void disableContButtons()

enableContButtons

public void enableContButtons(GameExtremePoint extPt)