package org.openpixi.pixi.ui.panel;
import javax.swing.JPanel;
import org.openpixi.pixi.ui.SimulationAnimation;
import org.openpixi.pixi.ui.SimulationAnimationListener;
public class AnimationPanel extends JPanel {
private SimulationAnimation simulationAnimation;
private MyAnimationListener listener;
/** Constructor */
public AnimationPanel(SimulationAnimation simulationAnimation) {
this.simulationAnimation = simulationAnimation;
listener = new MyAnimationListener();
this.simulationAnimation.addListener(listener);
this.setVisible(true);
}
/** Listener for timer */
public class MyAnimationListener implements SimulationAnimationListener {
public void repaint() {
AnimationPanel.this.repaint();
}
public void clear() {
AnimationPanel.this.clear();
}
}
public SimulationAnimation getSimulationAnimation() {
return simulationAnimation;
}
/** Clear screen.
* (Overwrite for custom behavior.) */
public void clear() {
}
/** Unregister this panel */
public void destruct() {
simulationAnimation.removeListener(listener);
}
}