「java图片滚动」java实现图片移动

博主:adminadmin 2022-11-23 05:24:07 118

本篇文章给大家谈谈java图片滚动,以及java实现图片移动对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java窗体飞机大战两张背景图片滚动循环如何实现,代码

package Task1;

//首先要调用需要的包

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class myFrame extends Frame //窗体类,继承Frame

{

CardLayout cl=new CardLayout(); //定义卡片布局

public void initial() //创建一个窗体

{

this.setBounds(500, 300, 300, 200); //窗体的大小和坐标

this.setTitle("图片自动浏览"); //窗体主题

this.setLayout(cl); //窗体采用的布局方式,上面已经定义了卡片布局,所以这里直接调用即可

this.setVisible(true); //显示窗体

JButton[] jbtn=new JButton[4]; //创建添加图片的数组,有几张图,数据成员就有几个

for(int i=0;i4;i++) //我这里是用循环来添加图片,所以上面要创建数组,当然分开一个一个的添加图片也是可以的

{

jbtn[i]=new JButton();

jbtn[i].setIcon(new ImageIcon("c://"+i+".jpg")); //这是所要添加图片的地址

this.add(jbtn[i],i+""); //显示

}

while(true) //关键的时候到了,如何让图片滚动循环,我这里是用了while循环来写的

{

cl.next(this); //图片的切换,下一张

try{Thread.sleep(3000);} //切换的间隔时间为3秒,也就是3000毫秒

catch(Exception e){}

}

}

public myFrame() //这是固定方法,窗体程序必须写,少了它整个程序完蛋,所以不多做解释

{

initial();

}

}

public class Test { //Test类,我这里是专门写主函数的

public static void main(String[] args) //主函数main

{

myFrame mf=new myFrame(); //实例化调用窗体类myFrame

}

}

ok,完成。程序复制过去以后可能会报错,并不是我写错了,我的有些包名或者类名还有大括号可能与你的不符合,你需要把细节方面的东西再做调试一下,然后在运行。

望采纳?谢谢!

java 滚动显示图片局部

参考一下:

import org.jawin.COMException;

import org.jawin.FuncPtr;

import org.jawin.ReturnFlags;

import org.jawin.io.LittleEndianInputStream;

import org.jawin.io.LittleEndianOutputStream;

import org.jawin.io.NakedByteStream;

FuncPtr fp = new FuncPtr("bin\\CallCOMUnitTestD.DLL", "SkipDefaultedArg");

NakedByteStream nbs = new NakedByteStream();

LittleEndianOutputStream leos = new LittleEndianOutputStream(nbs);

leos.writeInt(n);

byte[] result = GenericStub.win32Invoke(fp.getPeer(),"kI:I:", 8, 4, nbs.getInternalBuffer(), null);

return StructConverter.bytesIntoInt(result, 0);

JAVA中怎么实现背景图片滚动

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

public class MainJFrame extends JFrame {

public MainJFrame() {

//设置标题

super("JFram设置背景图片(Cannel_2020)");

//设置大小

setSize(500, 400);

//设置位置

setLocation(200, 50);

//背景图片的路径。(相对路径或者绝对路径。本例图片放于"java项目名"的文件下)

String path = "background.jpg";

// 背景图片

ImageIcon background = new ImageIcon(path);

// 把背景图片显示在一个标签里面

JLabel label = new JLabel(background);

// 把标签的大小位置设置为图片刚好填充整个面板

label.setBounds(0, 0, this.getWidth(), this.getHeight());

// 把内容窗格转化为JPanel,否则不能用方法setOpaque()来使内容窗格透明

JPanel imagePanel = (JPanel) this.getContentPane();

imagePanel.setOpaque(false);

// 把背景图片添加到分层窗格的最底层作为背景

this.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));

//设置可见

setVisible(true);

//点关闭按钮时退出

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

new MainJFrame();

}

运行如下

用java做游戏,怎么让背景图片滚动啊

首先需要一个大图片bg,长度为bgWeight,它作为背景,相当于一个首尾相连的画卷,人物走动的话,它就滚动

int pos=0;//它记录窗口坐标(左边)在bg的偏移;

pos=(pos+moveSpeed)%bgWeight;

然后根据pos的位置绘制背景,有可能你是绘制 bg的尾部+bg的头部 来形成完整的背景

经典代码:

public Ribbon(int movS, BufferedImage im) {

bim = im; //im就是背景图片

xImHead = 0;//当前游戏窗口左边在背景图片中的坐标

pWidth = GamePanel.WIDTH;游戏窗口宽

pHeight = GamePanel.HEIGHT;游戏窗口高

width = bim.getWidth();背景图片宽度

moveSize = movS;移动距离

}

public void draw(Graphics g) /* Consider 5 cases:考虑5种情况

// when xImHead == 0, draw only the im head

//when xImHead 0, draw the im tail and im head, or only the im tail.

//when xImHead 0, draw the im tail, or the im tail and im head

// xImHead can range between -width to width (exclusive)

*/ {

if (xImHead == 0) // draw im head at (0,0)//情况1

{

drawRibbon(g, bim, 0, pWidth, 0, pWidth);

}

else if ((xImHead 0) (xImHead pWidth)) {//情况2

// draw im tail at (0,0) and im head at (xImHead,0)

drawRibbon(g, bim, 0, xImHead, width - xImHead, width); // im tail

drawRibbon(g, bim, xImHead, pWidth, 0, pWidth - xImHead); // im head

}

else if (xImHead = pWidth) // only draw im tail at (0,0),情况3

{

drawRibbon(g, bim, 0, pWidth,

width - xImHead, width - xImHead + pWidth); // im tail

}

else if ((xImHead 0) (xImHead = pWidth - width)) {//情况4

drawRibbon(g, bim, 0, pWidth, -xImHead, pWidth - xImHead); // im body

}

else if (xImHead pWidth - width) { //情况5

// draw im tail at (0,0) and im head at (width+xImHead,0)

drawRibbon(g, bim, 0, width + xImHead, -xImHead, width); // im tail

drawRibbon(g, bim, width + xImHead, pWidth,

0, pWidth - width - xImHead); // im head

}

} // end of display()

累死,看看这里,很详细

看完还不会找我!

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

The End

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