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 edu.princeton.plot.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
edu.princeton.plot.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)  java.text.DateFormat dateFormat
           
(package private)  double delta
           
(package private)  java.text.DecimalFormat df
           
(package private)  edu.princeton.plot.helpercomponents.DigitSpinner digitSpinner
           
(package private)  boolean doNothingOnChange
           
(package private)  javax.swing.JCheckBoxMenuItem 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 numPicturesSaved
           
(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 saveNum
           
(package private)  java.lang.String savePictureName
           
(package private)  boolean savePictures
           
(package private)  int showCounter
           
(package private)  int showCounterMax
           
(package private)  javax.swing.JCheckBoxMenuItem showFeasibleSet
           
(package private)  javax.swing.JButton showFullAlgo
           
(package private)  boolean showingAlgoNow
           
(package private)  javax.swing.JCheckBoxMenuItem showKey
           
(package private)  javax.swing.JCheckBoxMenuItem showPrevPts
           
(package private)  javax.swing.JCheckBoxMenuItem showPunishment
           
 javax.swing.JComboBox showSpeeds
           
(package private)  javax.swing.JCheckBoxMenuItem showStaticNash
           
(package private)  javax.swing.JCheckBoxMenuItem showVertices
           
static int START_ITER
           
(package private)  double[][] staticNashList
           
(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)
           
 edu.princeton.plot.Plot2D clonePlot()
           
 edu.princeton.plot.Plot2D clonePlot(boolean addToolbar)
           
 void disableContButtons()
           
 void enableContButtons(GameExtremePoint extPt)
           
 SolutionGraph getCopy(boolean addToolbar)
           
private  javax.swing.JSlider getFullAlgoSlider()
           
 java.awt.Component getPlotKey()
           
 javax.swing.JPanel getWrapper()
           
 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(boolean saveImage, int saveNum)
           
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, drawEx, drawLine, drawPolygon, drawSquare, fillCircle, fillSquare, getXPixel, getYPixel, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, paintGridLines, paintHashMarks, saveImage, 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

staticNashList

double[][] staticNashList

actionSliderValue

int actionSliderValue

iterSliderValue

int iterSliderValue

title

java.lang.String title

outputDigits

int outputDigits

digitSpinner

edu.princeton.plot.helpercomponents.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

numPicturesSaved

int numPicturesSaved

saveNum

int saveNum

savePictures

boolean savePictures

dateFormat

java.text.DateFormat dateFormat

savePictureName

java.lang.String savePictureName

df

java.text.DecimalFormat df

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

public javax.swing.JComboBox showSpeeds

showingAlgoNow

boolean showingAlgoNow

showCounter

int showCounter

showCounterMax

int showCounterMax

showPrevPts

javax.swing.JCheckBoxMenuItem showPrevPts

showVertices

javax.swing.JCheckBoxMenuItem showVertices

enableAllActions

javax.swing.JCheckBoxMenuItem enableAllActions

showPunishment

javax.swing.JCheckBoxMenuItem showPunishment

showKey

javax.swing.JCheckBoxMenuItem showKey

showFeasibleSet

javax.swing.JCheckBoxMenuItem showFeasibleSet

showStaticNash

javax.swing.JCheckBoxMenuItem showStaticNash

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

getWrapper

public javax.swing.JPanel getWrapper()
Overrides:
getWrapper in class edu.princeton.plot.Plot2D

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 edu.princeton.plot.Plot2D

clonePlot

public edu.princeton.plot.Plot2D clonePlot()
Specified by:
clonePlot in class edu.princeton.plot.Plot2D

clonePlot

public edu.princeton.plot.Plot2D clonePlot(boolean addToolbar)

paintComponent

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

paintComponentMainPanel

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

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener
Specified by:
actionPerformed in class edu.princeton.plot.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(boolean saveImage,
                                  int saveNum)

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 edu.princeton.plot.Plot2D

getCopy

public SolutionGraph getCopy(boolean addToolbar)

getPlotKey

public java.awt.Component getPlotKey()
Specified by:
getPlotKey in class edu.princeton.plot.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)