「java动画调速」怎么调动画速度
今天给各位分享java动画调速的知识,其中也会对怎么调动画速度进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java做动画的原理,加个实例,谢谢
- 2、怎么用java做动画
- 3、java label上放gif图片出现图片速度变快的现象
- 4、2.Java有哪几种常见的实现动画的方法?
- 5、Java编程实现一个能循环地自左向右移动的动画程序。
- 6、java魔方小站动画怎用啊,求教程,详细
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做动画
重写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 label上放gif图片出现图片速度变快的现象
以前我也用到过这个问题,图片闪的原因是因为界面在不断的重绘,而图片通常数据量较大,造成重绘时闪动。以下的代码你可以参考下。import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
public class MyPanel extends JPanel {
Image doubleBuffer;
int clickCount;
private static final Dimension pSize = new Dimension(300, 300);
public void paint(Graphics g) {
long t1 = System.currentTimeMillis();
if (doubleBuffer == null) {
doubleBuffer = createImage(this.getWidth(), this.getHeight());
}
g.drawImage(doubleBuffer, 0, 0, null);
long t2 = System.currentTimeMillis();
System.out.println("Render consumed " + (t2 - t1) + " milliseconds");
}
public Dimension getPreferredSize()
{
return pSize;
}
public void changeInternalStatus()
{
Graphics g2 = doubleBuffer.getGraphics();
//更改绘图......;
g2.drawLine(0, clickCount, doubleBuffer.getWidth(null), clickCount);
clickCount += 5;
g2.dispose();
repaint();
}
public static void main(String[] args) {
final MyPanel p = new MyPanel();
JFrame f = new JFrame();
JMenuBar mb = new JMenuBar();
JMenu m = new JMenu("Test");
mb.add(m);
JMenuItem mi = new JMenuItem("Draw in off screen");
m.add(mi);
mi.addActionListener(new ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent e) {
p.changeInternalStatus();
}
});
f.setJMenuBar(mb);
f.setContentPane(p);
f.pack();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.show();
}
}
JComponent默认实现了double buffering,如果你觉得不满意,你可以参考一下JComponent的paintDoubleBuffered方法。
2.Java有哪几种常见的实现动画的方法?
一: 用多线程播放一组图片, 实现动画片的效果; 类似于逐帧动画,每个图片是动画的一帧
二: 在awt/swing界面里, 可以使用paint方法,去绘制图形,然后用swing提供的Timer或者多线程技术,去刷新绘制的图形
三:在JavaFX里, 本身就支持动画,并且封装了很多动画效果可以直接使用,比如逐帧动画.缩放动画,渐变动画,旋转动画,位置动画等.
强烈推荐使用javaFX来实现动画, 因为javaFX是现代化的图形界面工具,具有简单,强大,组件丰富,跨平台,支持Html5, 支持表格, 支持动画等多种优势
下面是一个javaFX绘制的动态表格
javaFX动态表格
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魔方小站动画怎用啊,求教程,详细
你先点java动画,显示一个X,然后再点java动画下载(上面),下载后,就可以打开它。要不然就是内存不够或没有打开它,你试一下退出再进来,应该就可以了。
关于java动画调速和怎么调动画速度的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。