「java动画控件」java动画效果

博主:adminadmin 2023-01-07 02:03:08 500

今天给各位分享java动画控件的知识,其中也会对java动画效果进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 简单动画 就是将一个圆点从一个坐标移动到另一个坐标即可

一个简单的范例,不明白追问吧

import java.awt.Color;

import java.awt.Graphics;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.*;

public class MoveAnimationDemo extends JFrame {

public MoveAnimationDemo() {

this.setContentPane(new AnimationPanel());

this.setSize(500, 500);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

}

/**

* 开始动画

*/

public void startAnimation() {

// 设定初始条件

x = START_X;

y = START_Y;

// 创建计时器

timer = new Timer(DELAY_TIME, new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 每一次延迟过后,调用一次

x += 1;

y += 1;

repaint();

// 满足结束条件就停止

if (x = END_X || y = END_Y) {

timer.stop();

}

}

});

// 开启计时器

timer.start();

}

public static void main(String[] args) {

MoveAnimationDemo demo = new MoveAnimationDemo();

demo.setVisible(true);

demo.startAnimation();

}

private class AnimationPanel extends JPanel {

@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g);

g.setColor(CIRCLE_COLOR);

g.fillOval(x, y, CIRCLE_SIZE, CIRCLE_SIZE);

}

}

// 圆点颜色

private static final Color CIRCLE_COLOR = Color.RED;

// 圆点大小

private static final int CIRCLE_SIZE = 10;

// 起始位置

private static final int START_X = 50;

private static final int START_Y = 50;

// 终止位置

private static final int END_X = 400;

private static final int END_Y = 400;

// 动画帧之间的延时,每秒60帧

private static final int DELAY_TIME = 1000 / 60;

// 当前位置

private int x;

private int y;

private Timer timer;

}

java做动画的原理,加个实例,谢谢

我用swing 做了个 雷霆战机的。。 g.fillRect(x60, y60, 10, 10);

g.fillRect(x70, y70, 10, 10); 画子弹的

g.drawImage(new ImageIcon("src/fr.jpg").getImage(),x0,y0,7,7,rootPane); 画飞机的

g.drawImage(new ImageIcon("src/fr.jpg").getImage(),x02,y02,7,7,rootPane);

g.drawImage(new ImageIcon("src/fr.jpg").getImage(),x03,y03,7,7,rootPane);

用多线程 然后不停刷新 (g 是 Graphics g x60, y60 这些都是坐标 后面的是长宽 )

当时import的包

import java.applet.Applet;

import java.applet.AudioClip;

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.util.Date;

import java.util.Random;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.Timer;

JAVA小动画程序

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("c:\\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==0) {

while(i==0) {

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();

}

}

你把那个图片放在c盘下就行了

怎么用java做动画

重写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文件放在同一文件夹下,然后运行就可以了·~~

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

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

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

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

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

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

javaFX动态表格

关于java动画控件和java动画效果的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。