「java区域动画」java实现动画
今天给各位分享java区域动画的知识,其中也会对java实现动画进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、Java编程实现一个能循环地自左向右移动的动画程序。
- 2、JAVA小动画程序
- 3、java 画图 动画
- 4、2.Java有哪几种常见的实现动画的方法?
- 5、怎么用java做动画
- 6、JAVA 简单的2D动画(一条直线围绕一个圆点转动)
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区域动画的信息别忘了在本站进行查找喔。
发布于:2022-12-23,除非注明,否则均为
原创文章,转载请注明出处。