我想要一个Swing应用程序,它将从文件夹中随机选择一些图像并显示它们。
我尝试过这样的事情,但图像没有渲染。
import java.awt.*;
import javax.swing.*;
import java.util.*;
public class RandomCards extends JFrame
{
RandomCards()
{
setLayout(new FlowLayout(FlowLayout.LEFT, 25, 10));
Map<Integer, String> hm = new HashMap<Integer, String>();
int noOfImage=3;
for(int i=0; i < noOfImage; i++)
{
hm.put(i, "resources/" + i + ".png");
}
double cardNumber = Math.floor(Math.random()*3) + 1;
add(new JLabel(hm.get(cardNumber)));
}
public static void main (String [] args)
{
RandomCards frame = new RandomCards();
frame.setSize(330, 150);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
答案 0 :(得分:8)
将文件名加载到ArrayList
,构建java.util.Random
并调用nextInt(arraylist.size())
以获取随机数。然后在该数字的索引下显示位于数组中的文件。
或者,请对您的问题稍微具体一点。
答案 1 :(得分:3)
获取该文件夹的图像列表。使用File class list()方法获取所有文件名(如果需要文件,则使用listFiles())。使用Random获取下一个整数。 使用Toolkit.getDefaultToolkit()。createImage(imgFileName)来创建图像。 创建一个JFrame(或JWindow),使用该图像创建一个JLabel并添加到JFrame。