📄 animator.java
字号:
package graphicAnimation;
import java.awt.Graphics;
/**
* 算法演示器的基类,维持该算法演示器绘制的内容是否可见,以及该算法演示器所使用的演示区域和动画驱动器
* 等基本信息
* @author Administrator
*
*/
public abstract class Animator implements PainterHelper {
protected boolean visible = true; // 算法演示器绘制的内容是否可见
protected AnimationArea area = null; // 算法演示器使用的演示区域
protected AnimationDriver animationManager = null; // 算法演示器使用的动画驱动器
public Animator() { }
public Animator(AnimationArea area) {
this.area = area;
}
public Animator(AnimationDriver animationManager) {
this.animationManager = animationManager;
}
public Animator(AnimationArea area, AnimationDriver animationManager) {
this.area = area;
this.animationManager = animationManager;
}
/**
* 返回所使用动画驱动器
*/
public AnimationDriver getAnimationManager() {
return animationManager;
}
/**
* 设置所使用动画驱动器
*/
public void setAnimationManager(AnimationDriver animationManager) {
this.animationManager = animationManager;
}
/**
* 返回所使用演示区域
*/
public AnimationArea getAnimatorArea() {
return area;
}
/**
* 设置所使用的演示区域
* @param area
*/
public void setAnimationArea(AnimationArea area) {
this.area = area;
}
/**
* 隐藏演示器所绘制的内容
*/
public void hide() { visible = false; }
/**
* 使演示器所绘制的内容可见
*/
public void show() { visible = true; }
/**
* 延迟 ms 毫秒
*/
public static void sleep(long ms) {
if (ms <= 0) return;
try {
Thread.sleep(ms);
} catch (Exception exc) {
exc.printStackTrace();
}
}
/**
* 在演示区域上绘制演示器所需要绘制的内容,由具体的演示器实现
*/
public abstract void paint(Graphics gc);
/**
* 如果设置了演示区域,则调用演示区域的 repaint() 方法重新绘制该区域
*
*/
public void update() {
if (area != null) area.repaint();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -