Watchmaker Framework API
(Version 0.6.2)

org.uncommons.watchmaker.swing.evolutionmonitor
Class EvolutionMonitor<T>

java.lang.Object
  extended by org.uncommons.watchmaker.swing.evolutionmonitor.EvolutionMonitor<T>
Type Parameters:
T - The type of the evolved entities monitored by this component.
All Implemented Interfaces:
EvolutionObserver<T>

public class EvolutionMonitor<T>
extends Object
implements EvolutionObserver<T>

The Evolution Monitor is a component that can be attached to an EvolutionEngine to provide real-time information (in a Swing GUI) about the current state of the evolution.

Author:
Daniel Dyer

Constructor Summary
EvolutionMonitor()
          Creates an EvolutionMonitor with a single panel that graphs the fitness scores of the population from generation to generation.
EvolutionMonitor(Renderer<? super T,JComponent> renderer)
          Creates an EvolutionMonitor with a second panel that displays a graphical representation of the fittest candidate in the population.
 
Method Summary
 JComponent getGUIComponent()
           
 void populationUpdate(PopulationData<? extends T> populationData)
          Invoked when the state of the population has changed (typically at the end of a generation).
 void showInDialog(JFrame owner, String title, boolean modal)
          Displays the evolution monitor component in a new JDialog.
 void showInFrame(String title, boolean exitOnClose)
          Displays the evolution monitor component in a new JFrame.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EvolutionMonitor

public EvolutionMonitor()
Creates an EvolutionMonitor with a single panel that graphs the fitness scores of the population from generation to generation.


EvolutionMonitor

public EvolutionMonitor(Renderer<? super T,JComponent> renderer)
Creates an EvolutionMonitor with a second panel that displays a graphical representation of the fittest candidate in the population.

Parameters:
renderer - Renders a candidate solution as a JComponent.
Method Detail

populationUpdate

public void populationUpdate(PopulationData<? extends T> populationData)
Invoked when the state of the population has changed (typically at the end of a generation).

Specified by:
populationUpdate in interface EvolutionObserver<T>
Parameters:
populationData - Statistics about the state of the current generation.

getGUIComponent

public JComponent getGUIComponent()

showInFrame

public void showInFrame(String title,
                        boolean exitOnClose)
Displays the evolution monitor component in a new JFrame. There is no need to make sure this method is invoked from the Event Dispatch Thread, the method itself ensures that the window is created and displayed from the EDT.

Parameters:
title - The title for the new frame.
exitOnClose - Whether the JVM should exit when the frame is closed. Useful if this is the only application window.

showInDialog

public void showInDialog(JFrame owner,
                         String title,
                         boolean modal)
Displays the evolution monitor component in a new JDialog. There is no need to make sure this method is invoked from the Event Dispatch Thread, the method itself ensures that the window is created and displayed from the EDT.

Parameters:
owner - The owning frame for the new dialog.
title - The title for the new dialog.
modal - Whether the

Watchmaker Framework API
(Version 0.6.2)