`
yaerfeng1989
  • 浏览: 233195 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

通过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

0
0
分享到:
评论

相关推荐

    delphi实现动画效果

    本主题聚焦于“delphi实现动画效果”,这涉及到图形处理和用户界面动态呈现的技术。在Delphi中创建动画效果通常需要理解几个关键概念和组件,包括图形对象、定时器组件、事件驱动编程以及绘图API。 1. **图形对象**...

    Visual C++ 实现动画效果

    在Visual C++ 2008中,可以利用MFC(Microsoft Foundation Classes)库来构建用户界面,并结合GDI+(Graphics Device Interface Plus)或DirectX等图形库来实现动画效果。GDI+提供了一套丰富的绘图功能,包括绘制...

    delphi 实现的一个动画效果

    在Delphi中实现动画效果是一项技术含量较高的工作,它涉及到图形绘制、事件处理以及时间管理等多个方面的知识。Delphi作为一个强大的RAD(快速应用开发)工具,提供了丰富的组件库和API,使得开发者能够轻松创建出...

    Android中使用SVG实现炫酷动画效果

    - **使用Third-party库**:如`androidSVG`库提供了一些方法来实现SVG的动画效果,例如通过改变图形的属性如路径、颜色等。 5. **SVG动画实例** - **平移和旋转**:通过改变图形的位置和角度属性,可以实现图形的...

    GDI+双缓存实现简单的图片动画效果

    可以调整图片的位置和大小,以实现动画效果。 3. 更新图片状态:每次需要更新动画时,比如改变图片的位置或大小,都在后台位图上进行。 4. 复制后台位图到前台:完成绘制后,使用`BitBlt`函数将后台位图的内容复制...

    C# Graphics对象的应用 二维数组的应用——飞舞的雪花

    8. 通过Timer控件设置定时器事件,每隔一定时间重复步骤3到7,实现动画效果。 这个案例不仅展示了C#的图形绘制能力,还融入了基本的动画原理和随机数生成,是学习C#图形编程和动画设计的一个良好实践。通过这样的...

    仿微信摇色子动画效果

    本项目旨在仿制微信中的摇色子动画效果,它并非依赖Gif图片,而是通过原生编程语言和方法实现,以确保流畅度和性能。 首先,我们要理解摇色子动画的核心原理。这种动画通常涉及到随机数生成、2D图形绘制以及物理...

    android path 动画效果 (很酷)

    标题中的"android path 动画效果 (很酷)"指的就是使用Android的动画系统来实现路径动画,使得UI元素能够沿着预定义的路径移动,产生流畅且酷炫的视觉效果。以下将详细介绍这一技术。 首先,Path Animation是Android...

    java实现gif动画效果(java显示动态图片)

    要实现动画效果,我们需要在特定时间间隔内更新图片。这通常通过使用`java.util.Timer`类或创建一个新的线程来实现。在这个例子中,`Donttai`类实现了`Runnable`接口,表明它可以作为一个线程来运行。但是,实际的...

    Android数百种动画效果源码

    "BaseAnimation数百种动画效果源码"这个资源包含了大量用于Android应用的动画效果实现,这对于开发者来说是一份宝贵的参考资料。下面我们将深入探讨Android动画体系以及这些源码可能涵盖的知识点。 1. **属性动画...

    C#图像处理_图片动画效果

    在C#编程环境中,图像处理是一项重要的技能,尤其在创建...总之,C#图像处理不仅限于静态图像的展示,还可以通过GDI+和WinForm来实现复杂的图片动画效果。熟练掌握这些技巧,你将能够创建出引人入胜的图形应用程序。

    java2D动画效果

    每当定时器触发时,我们会更新对象的位置、颜色或其他属性,然后调用`repaint()`方法使组件重新绘制,从而实现动画效果。 例如,一个简单的移动物体的动画可以通过以下步骤实现: 1. 创建一个表示物体的类,包含...

    WPF动画效果合集,包含多个项目

    "动画效果展示.rar"和"source.rar"很可能是各种动画效果的综合展示和源代码,开发者可以通过这些代码学习如何在自己的WPF项目中实现类似的动画。 在实际开发中,WPF动画可以用来增强用户体验,提高软件的吸引力。...

    最新C#仿360杀毒页面切换动画效果

    在实现动画效果时,C#通常会结合使用Windows Forms中的控件和事件处理程序。360杀毒页面切换的上下翻页效果可以通过调整控件的位置和大小来模拟,而中间打开的效果则可能涉及到更复杂的布局变换,如缩放、平移和旋转...

    C#实现图片转场过渡,图像渐变动画,图像融合技术,图像淡入淡出效果

    总的来说,C#提供了丰富的图形处理能力,通过GDI+或其他图形库,我们可以轻松实现图像转场过渡、渐变动画和淡入淡出效果。理解并掌握这些技术,对于开发动态图形软件、游戏或多媒体应用都是至关重要的。在实践中不断...

    Java 实现简单的动画

    这样,圆形就会在屏幕上连续移动,形成动画效果。 总之,Java实现简单的动画需要对Java GUI编程有基本的理解,熟练掌握`Graphics`类的使用,以及如何利用`Timer`和重绘机制来实现动态效果。对于初学者来说,这是一...

    EVC4.0图形的动画效果

    总的来说,EVC 4.0的图形动画效果是通过巧妙地组合和播放一系列静态图像来实现的,这需要对GDI+编程有一定理解,并能够熟练使用定时器和图像处理函数。通过这种方式,开发者可以为嵌入式设备创建出丰富多彩、流畅的...

    安卓动画效果相关-FABRevealLayout实现两个页面切换效果.zip

    通过阅读和分析这些代码,你可以深入了解如何在实际项目中应用此类动画效果。`JavaApk源码说明.txt`可能是对项目源码的简要说明,而`下载更多打包源码~.url`可能指向其他有用的Android开发资源。 总的来说,学习并...

    Java制作动画效果的文字变大效果.rar

    为了实现动画效果,我们需要不断地重绘画布,每次改变文字的大小或位置。 2. **定时器**: Java的`javax.swing.Timer`类可以用来创建定时任务,控制动画的帧率。通过设置定时器的间隔时间,我们可以决定每隔多久...

    专题之JAVA小动画.pdf

    * Graphics 类的使用可以实现动画效果,例如在本例中,通过 Graphics 类的使用,可以实现图片的连续显示。 Java Applet 的应用 * 使用 Java Applet 可以在网页上运行 Java 程序。 * 通过 Applet 可以实现交互式的...

Global site tag (gtag.js) - Google Analytics