如何按顺序显示一堆图像,后跟名称

时间:2012-05-14 07:42:05

标签: java image jlabel

我想问一下,如果我的机器获得了1000/10000的图像,并且每个图像都按顺序命名(1.jpg,2.jpg,3.jpg,4.jpg .... 10000.jpg),如何让它按照顺序显示?

我在网上看到很多问题,他们把它放在JLabel上,但很多人说它不会起作用。我甚至尝试了一些方法让它像javascript一样显示,但它不是我想要的结果。

我希望程序每次运行0.5秒,并在图像编号后显示图像。

有人可以通过这个来帮助我吗?提前谢谢

=============================================== ===================================

更新:这是我的javascript代码

<html> 
<head>
</head>

<body>
<img src="images/image1.jpg" alt="rotating image" width="600" height="500" id="rotator">

<script type="text/javascript">
(function() {
var rotator = document.getElementById('rotator');  // change to match image ID
//var imageDir = 'images/';                          // change to match images folder
var delayInSeconds = 1;                            // set number of seconds delay
// list image names
var images = ['1.jpg','2.jpg', '3.jpg', '4.jpg'];

// don't change below this line
var num = 0;
var changeImage = function() {
    var len = images.length;
    rotator.src = images[num++];
    if (num == len) {
        num = 0;
    }
};
setInterval(changeImage, delayInSeconds * 50);
})();
</script>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

首先,你需要预加载图像,要做到这一点,你可以将它们添加到隐藏的div中。然后用它替换原始图像。这样的事情:

<html>
<head>
<title>ViewImage</title>
<script type="text/javascript" src="/jquery-1.4.2.min.js"></script>

<script>
var img_num = 1;
$(function(){
window.setInterval(function(){
    var img = $('#hiden-img');
    if(img[0].complete==true)
        $('#real-image').attr('src', img.attr('src'));
    img_num++;
    if(img_num>10000)img_num=1;
    img.attr('src', '/img/'+img_num+'.jpg');

}, 500);
});
</script>
</head>
<body>
<img id="hiden-img" style="display:none;"/>
<img id="real-image" src="/img/1.jpg"/>
</body>
</html>

试试这样。下载jquery并将其放在您的站点中,将路径“/ path / to / img”(2次)和“/ path / to / jquery”替换为您的真实路径。这应该可以解决问题。

您不需要每秒刷新页面。您无需刷新所有内容。 它可以在我的网站上运行。