「java区域动画」java实现动画

博主:adminadmin 2022-12-23 07:42:10 59

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

本文目录一览:

Java编程实现一个能循环地自左向右移动的动画程序。

效果图

参考代码

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class MoveTextFrame extends JFrame {

JLabel jl;//文字标签

int speed=2;//移动速度

public MoveTextFrame() {

jl = new JLabel("文字动画");

jl.setForeground(Color.RED);

add(jl);

setSize(380, 100);//窗口大小

setLocationRelativeTo(null);//窗口居中

setResizable(false);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setVisible(true);

//设置定时器, 每隔25毫秒,改变一次文字标签的位置

Timer t = new Timer(25, new ActionListener() {

public void actionPerformed(ActionEvent e) {

int x = jl.getX()+speed;//计算移动后的位置

if(x=390){//如果超过就指定像素,就重新从左边开水移动

x=-30;

}

jl.setLocation(x, jl.getY());//更新位置

//repaint();

}

});

t.start();

}

public static void main(String[] args) {

new MoveTextFrame();

}

}

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 画图 动画

把下面这个方法改成这样,就可以解决前2个问题,要加背景只要在画这个动画之前画上背景就可以了

public void paint(Graphics g) {

super.paint(g);

if (a == 5) {

a = 0;

}

if (img[a] != null) {

g.drawImage(img[a], 100 + a * 50, 100, 50, 50, this);

}

}

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

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

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

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

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

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

javaFX动态表格

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

JAVA 简单的2D动画(一条直线围绕一个圆点转动)

要建两个类 别全部复制到一个文件内了

一个是直线类

public class Tline implements Runnable{

private int x=0;

private int y=0;

private int r=100;

@Override

public void run(){

int angle=0;

while(true){

x = (int) (Math.cos((angle*2)*Math.PI/360)*r); //确定X Y值

y = (int) (Math.sin((angle*2)*Math.PI/360)*r);

angle++;

try {

Thread.sleep(250);

} catch (InterruptedException ex) {

Logger.getLogger(Tline.class.getName()).log(Level.SEVERE, null, ex);

}

}

}

public void draw(Graphics g){

g.drawLine(0, 0, x, y);

}

}

第二个是窗口类

public class TestJFrame extends JFrame{

Tline line;

public TestJFrame(){

init();

line = new Tline();

new Thread(line).start();

todraw();

}

public void todraw(){

while(true){

this.repaint();

try {

Thread.sleep(250);

} catch (InterruptedException ex) {

Logger.getLogger(TestJFrame.class.getName()).log(Level.SEVERE, null, ex);

}

}

}

public void init(){

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

this.setSize(800, 600);

this.setVisible(true);

}

@Override

public void paint(Graphics g){

super.paint(g);

g.translate(200, 200); //平移

line.draw(g);

}

public static void main(String args[]){

new TestJFrame();

}

}

在netbeans 和eclipse中都通过了

java区域动画的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java实现动画、java区域动画的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。