㈠ 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++ //方向 -- 為右滾動
<!-- }
}
把判斷條件刪除了只能循環兩次....