2.Java有哪几种常见的实现动画的方法?

Python021

2.Java有哪几种常见的实现动画的方法?,第1张

一: 用多线程播放一组图片, 实现动画片的效果类似于逐帧动画,每个图片是动画的一帧

二: 在awt/swing界面里, 可以使用paint方法,去绘制图形,然后用swing提供的Timer或者多线程技术,去刷新绘制的图形

三:在JavaFX里, 本身就支持动画,并且封装了很多动画效果可以直接使用,比如逐帧动画.缩放动画,渐变动画,旋转动画,位置动画等.

强烈推荐使用javaFX来实现动画, 因为javaFX是现代化的图形界面工具,具有简单,强大,组件丰富,跨平台,支持Html5, 支持表格, 支持动画等多种优势 

下面是一个javaFX绘制的动态表格

javaFX动态表格

重写paint方法,来实现将自己定义的图片绘制到组件中,然后启动一个线程来控制paint方法。示例:×××××××××××××××××××××××××××import javax.swing.*import java.awt.*class MyPanel extends JPanel implements Runnable{ private Image img private int i=0 private int j=0 public MyPanel() { img=new ImageIcon("1.png").getImage() } public void paint(Graphics g) { g.drawImage(img,0,0,60,104,i*60,j*104,i*60+60,j*104+104,this) } public void run() { while(true) { while(j {while(i{ try { Thread.sleep(300) } catch(Exception e) { } this.repaint() i++}j++i=0 } i=0 j=0 } }}public class test extends JFrame{ private MyPanel p public test() { p=new MyPanel() this.add(p,BorderLayout.CENTER) this.setBounds(300,200,300,300) this.setTitle("人物行走图") new Thread(p).start() this.setVisible(true) this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) } public static void main(String args[]) { new test() }}×××××××××××××××××××××××将以上源码保存为:test.java,编译,然后下载下面的图片将下载的图片改名为1.png" target="_blank" >

,然后将其和编译后生成的class文件放在同一文件夹下,然后运行就可以了·~~