我正在尝试创建一个加载52张卡片的小程序,将它们随机播放(使用随机数生成器),然后以两行五行显示卡片的前10张卡片。我有HTML文件和52张卡片的图像,但有一种方法可以加载图像,而无需加载每个单独的图像。你如何从网络上加载图像?
答案 0 :(得分:2)
..有没有办法加载图像而无需加载每个单独的图像
将它们放在一个巨大的图像中并在运行时将其切片。 this answer中有一个例子。
在Google图片中搜索“正在播放+卡片”,并且在点击的第一页中可能会有2个或更多的图块集。
但是,加载速度更快:
Image
或 Shape
Image
或 Font
。 然后在启动时将它们组合起来形成52张牌中的每张牌。
显然,这也需要卡片的共同“反面”。
如何从网上加载图片?
按网址。
一些替代方案:
Applet.getImage(URL)
Toolkit.getImage(URL)
BufferedImage
使用ImageIO.read(URL)
前两种方法是异步&需要ImageObserver
。
考虑将此作为使用Java Web Start启动的应用程序。如果您继续使用小程序,请浏览links in the applet info. page。
答案 1 :(得分:0)
试试这个。
Image[] cards = new Image[52]
private void loadImages(){
for (int i=0; i<cards.length; i++){
URL imgUrl = getClass().getResource("image"+(i+1));
cards[i] = getImage(imgUrl);
}
}
希望这有帮助