通过Graphics对象来实现动画效果
2014-02-23 10:43
323 查看
通过Graphics对象来实现动画效果
原创不易,转载请注明出处:通过Graphics对象来实现动画效果
原创不易,转载请注明出处:通过Graphics对象来实现动画效果
package com.zuidaima.animate; import java.awt.Color; import java.awt.Graphics; import java.awt.Insets; import java.util.Timer; import java.util.TimerTask; import javax.swing.JFrame; public class Animate extends JFrame { private static int DELAY = 100; Insets insets; Color colors[] = { Color.RED, Color.ORANGE, Color.YELLOW, Color.GREEN, Color.BLUE, Color.MAGENTA }; public void paint(Graphics g) { super.paint(g); if (insets == null) { insets = getInsets(); } // Calculate each time in case of resize int x = insets.left; int y = insets.top; int width = getWidth() - insets.left - insets.right; int height = getHeight() - insets.top - insets.bottom; int start = 0; int steps = colors.length; int stepSize = 360 / steps; synchronized (colors) { for (int i = 0; i < steps; i++) { g.setColor(colors[i]); g.fillArc(x, y, width, height, start, stepSize); start += stepSize; } } } public void go() { TimerTask task = new TimerTask() { public void run() { Color c = colors[0]; synchronized (colors) { System.arraycopy(colors, 1, colors, 0, colors.length - 1); colors[colors.length - 1] = c; } repaint(); } }; Timer timer = new Timer(); timer.schedule(task, 0, DELAY); } public static void main(String args[]) { Animate f = new Animate(); f.setSize(200, 200); f.show(); f.go(); } }完整代码下载地址:http://www.zuidaima.com/share/1550463399660544.htm
相关文章推荐
- java练习题
- python开发windows应用程序
- Request.QueryString["**"]发生“未将对象引用设置到对象的实例。”的解决方法
- virtualbox 启动虚拟机报 cannot access kernel driver 错误
- PCB抗干扰设计2
- 安装过程中又一个问题出现了。
- CXF学习笔记
- 安装过程中又一个问题出现了。
- 进程间通信之XSI IPC
- pcb布线(抗干扰设计1)
- Shell Step by Step
- AD--2
- poj 1192 树形dp
- 日记 nand驱动移植简介
- N黑快围观:690战术核显卡现身
- 黑马程序员_加强12_枚举 1.5的性特性
- wp应用开发吸金能力不亚于Iso
- JSP防盗链小结
- Java 7之基础 - 强引用、弱引用、软引用、虚引用
- 设计模式(23)——访问者模式与双分派