java动态图片源代码 java动态图片界面代码

java中在窗体的创建一个面板中加入一个gif动态图java动态图片源代码你是说 JPanel 吗java动态图片源代码?两种方法:
添加 JLabeljava动态图片源代码,给 JLabel 添加 ImageIcon , 然后放置 JLabel 到 JPanel 上就行java动态图片源代码了:
JPanel pnl = new JPanel();
......
JLabel lblImage = new JLabel(new ImageIcon("你的文件名"));//创建一个带图片的 JLabel
lblImage.setBounds(0, 0, pnl.getWidth(), pnl.getHeight());//设置 图片的横坐标、纵坐标、宽、高
pnl.add(lblImage);//放置这个 JLabel 到你的 JPanel 上面
还有一种方法是重写 JPanel 的 paint() 方法:
class YourPanel extends JPanel {
private Image img = Toolkit.getDefaultToolkit().createImage("你的文件名");//用 Toolkit 的 createImage 方法来创建一个 Image 对象
@Override public void paint (Graphics g) {
super.paint(g);
g.drawImage(img, 0, 0, getWidth(), getHeight());//绘制图片,第一个参数是 Image 对象,第二个参数是 横坐标,第三个是 纵坐标,第四个是 宽,第五个是 高
}
}
以上你隐式重写也可以:
JPanel pnl = new JPanel() {
@Override public void paint (Graphics g) {
...... //但是要注意这样如果你把 Image 声明成java动态图片源代码了局部变量或者参数形式,你需要声明成 final
}
}
流动图片怎么做?。。。。?/h2>/*你说是不是可以动的图片吗?
我自己做了一个飞机大战的游戏,背景是流动的!我给你源代码!你改改那图的路径好了!
由于我是从我那些代码里面复制的,所以有点乱,其基本思想是:用线程不停地移动图片的位置!其线程的类是:ThreadMove
*/
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class MovePic extends Frame{
private int skyWidth, skyHeight;
private Image image;
private int x, y, planeW, planeH;
privateBackImage backImage;
MovePic(){
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension d = toolkit.getScreenSize();
skyWidth = d.width / 2 - 100;
skyHeight = d.height - 50;
planeW = 50;
planeH = 50;
x = skyWidth / 2 - planeW / 2;
y = skyHeight - planeH;
backImage=new BackImage(-1000+this.skyHeight,this);
this.setBounds(d.width / 2 - skyWidth / 2, 0, skyWidth, skyHeight);
this.setTitle("无名");
this.setBackground(Color.black);
this.setResizable(false);
this.setVisible(true);
this.repaint();
}
public void paint(Graphics g){
backImage.draw(g);
}
public BackImage getBackImage() {
return backImage;
}
public int getSkyWidth() {
return skyWidth;
}
public static void main(String[] args){
MovePic planeSky=new MovePic();
new ThreadMove(planeSky);
}
}
class ThreadMove extends Thread{
MovePic planeSky;
ThreadMove(MovePic planeSky){
this.planeSky=planeSky;
start();
}
public void run(){
try {
while(true){
Thread.sleep(100);
planeSky.getBackImage().move();
planeSky.repaint();
}
}catch (InterruptedException e) {
e.printStackTrace();
}
}
}
class BackImage {
private int y;
private Image image;
private MovePic planeSky;
private int ySpeed;
BackImage(int y,MovePic planeSky){
this.y=y;
this.planeSky=planeSky;
this.ySpeed=10;
try {
//******************要修改的地址***********************//
image=ImageIO.read(new File("C:\\java\\PlaneWar0.1\\image\\q\\sky3.gif"));

推荐阅读