导航:首页 > 编程语言 > java滚动图片

java滚动图片

发布时间:2022-11-28 02:21:00

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

importjavax.swing.ImageIcon;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JPanel;

{

publicMainJFrame(){

//设置标题

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

//设置大小

setSize(500,400);

//设置位置

setLocation(200,50);

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

Stringpath="background.jpg";

//背景图片

ImageIconbackground=newImageIcon(path);

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

JLabellabel=newJLabel(background);

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

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

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

JPanelimagePanel=(JPanel)this.getContentPane();

imagePanel.setOpaque(false);

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

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

//设置可见

setVisible(true);

//点关闭按钮时退出

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

publicstaticvoidmain(String[]args){

newMainJFrame();

}

}

运行如下

㈡ 用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()

累死,看看这里,很详细 http://wenku..com/view/85d254ce0508763231121260.html
看完还不会找我!

㈢ 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);

㈣ 通过javasccript实现图片滚动效果

直接给你一段简单的代码,不懂再问
<html>
<head>
<title>图片滚动 </title>
<style>
#div1
{position:relative;width:650px;height:210px;overflow:hidden;
}
#div2{position:absolute;}
li{float:left;list-style-type:none;padding:5px;}
img{border:none;}
#div2 li a:hover{top:-10px;}
a{position:relative;}
</style>
<script>
window.onload=function()
{
var odiv2=document.getElementById('div2');
var ali=odiv2.getElementsByTagName('li');
var aspeed=-5;
var timer=null;
odiv2.innerHTML+=odiv2.innerHTML;
odiv2.style.width=ali[0].offsetWidth*ali.length+'px';
odiv2.onmouseover=function(){clearInterval(timer);};
function a()
{
timer=setInterval(function()
{
odiv2.style.left=odiv2.offsetLeft+aspeed+'px';
if (odiv2.offsetLeft<-odiv2.offsetWidth/2)
{
odiv2.style.left='0px';
}
},30);};
odiv2.onmouseout=a;
a();
}
</script>
</head>
<body>
<div id='div1'>
<div id='div2'>
<li><a href=""><img src="1.jpg" /></a></li>
<li><a href=""><img src="2.jpg" /></a></li>
<li><a href=""><img src="3.jpg" /></a></li>
<li><a href=""><img src="4.jpg" /></a></li>
</div>
</div>
</body>
</html>
希望能解决您的问题。

㈤ java 如何在界面上显示多张图片并实现滚动条拖动.

importorg.jawin.COMException;
importorg.jawin.FuncPtr;
importorg.jawin.ReturnFlags;
importorg.jawin.io.LittleEndianInputStream;
importorg.jawin.io.LittleEndianOutputStream;
importorg.jawin.io.NakedByteStream;

FuncPtrfp=newFuncPtr("bin\CallCOMUnitTestD.DLL","SkipDefaultedArg");
NakedByteStreamnbs=newNakedByteStream();
LittleEndianOutputStreamleos=newLittleEndianOutputStream(nbs);
leos.writeInt(n);
byte[]result=GenericStub.win32Invoke(fp.getPeer(),"kI:I:",8,4,nbs.getInternalBuffer(),null);
returnStructConverter.bytesIntoInt(result,0);

㈥ 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;i<4;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用ScrollBar控制JLabel图片滚动

用JPanel的drawImage即可、然后添加到父容器中添加滚动条即可。。。

㈧ 滚动图片java代码问题

我给你发一个图片无缝滚动的例子,把图片的路径改改就能运行了:
<html>
<head>
<title>marquee</title>
<style>
#marq {
width:500px;
height:100px;
border:1px solid red;
overflow:hidden;
}
#marq img{
width:100px;
height:70px;
}
</style>
</head>
<body>
<div id="marq">
<table>
<tr>
<td id="bd">
<table>
<tr>
<td><img src="images/1.jpg"/></td>
<td><img src="images/2.jpg"/></td>
<td><img src="images/2.jpg"/></td>
<td><img src="images/2.jpg"/></td>
<td><img src="images/2.jpg"/></td>
<td><img src="images/2.jpg"/></td>
<td><img src="images/3.jpg"/></td>
</tr>
</table>
</td>
<td id="shadow">
</td>
</tr>
</table>
</div>
<div id="sh"></div>
</body>
<script>
var marq = document.getElementById("marq");
var bd = document.getElementById("bd");
var shadow = document.getElementById("shadow");
var sh = document.getElementById("sh");
shadow.innerHTML = bd.innerHTML;
function mq(){
if (bd.clientWidth - marq.scrollLeft == 0)
marq.scrollLeft = 0
else
marq.scrollLeft++;
sh.innerHTML = "bd width: "+bd.clientWidth+" scrollLeft:"+marq.scrollLeft;
setTimeout("mq()",10);
}
mq();
</script>
</html>

㈨ java : 怎样实现在一个窗口中向下滚动画图(就像文本区那样能在内容超出窗口范围时向下拉动)

可以把你要显示的内容放到一个div层中,设置以下div显示的长宽
下面给出各例子,自己复制下来试试吧
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<div style="overflow-y:auto;overflow-x:hidden;width:100%;height:100px">
1
1
1
1
1

1
1
1
1
1
1
</div>
</BODY>
</HTML>

㈩ java图片滚动循环为什么不循环只滚动一次

function Marquee()
{
<!--if(demo.scrollLeft<=0)
<!-- demo.scrollLeft+=demo2.offsetWidth
<!-- else
<!-- {
demo.scrollLeft++ //方向 -- 为右滚动
<!-- }
}
把判断条件删除了只能循环两次....

阅读全文

与java滚动图片相关的资料

热点内容
搜索pdf内容 浏览:497
程序员装机必备的软件 浏览:9
php微信第三方登录demo 浏览:536
上海php工具开发源码交付 浏览:791
哪里有求购黄页的源码 浏览:194
商城矿机源码矿场系统 浏览:196
单片机的led灯熄灭程序 浏览:224
洛阳python培训 浏览:702
小键盘命令 浏览:194
单片机c语言返回主程序 浏览:816
dockerpythonweb 浏览:970
程序员算法有多强 浏览:717
pythonworkbook模块 浏览:245
什么app能查医生 浏览:175
轻量级的编程语言 浏览:338
程序员那么可爱生孩子 浏览:432
后缀him3加密文件是什么软件 浏览:986
坚果隐藏app为什么要140版本才能用 浏览:315
淘宝dns服务器地址 浏览:259
领英转型app哪个好用 浏览:943