0

我正在开发一个程序,它将用文件中的 52 张卡片图像填充一个数组。我想在 gui 窗口中显示这些图像。这是一个程序,它将选择五个随机卡片图像并将它们显示在一个 gui 窗口中。所以,现在,我正在尝试开发代码的一部分,它将在窗口中显示来自数组的图像,我不知道如何在 jframe 中显示 png 图像。这是我到目前为止的代码。我使用了 system.out.println 语句,所以我知道 52 张卡片图像的数组正在正确填充,但是,我不知道如何在窗口中正确显示它们。

String[] cardsArray = new String[52];

for (int i = 0; i < 52; i++)
{
    cardsArray[i] = "C:\\Users\\mike\\Documents\\NetBeansProjects\\card shuffler\\cards\\\"+String.valueOf(i+1)+".png";
}

System.out.println(Arrays.toString(cardsArray));

附加说明。我必须使用 jframe 以并排布局显示结果。我想使用 flowLayout 来实现这一点,但是,我不确定如何传入图像数组。使用文件中的单个图像执行此操作没有问题。我使用下面的代码作为指导。

JFrame myJFrame = new JFrame();

// create and assign a FlowLayout for myFrame
myJFrame.setLayout(new FlowLayout());

// Create a label with an image icon
JLabel jlCSCI = new JLabel(new ImageIcon("CSCI.jpg"));

// add the Label to the frame 
myJFrame.add(jlCSCI); // Add thelabel to MyGridLayout

// set the title, size, location and exit behavior for the frame
myJFrame.setTitle("ImageIcon Demo");
myJFrame.setSize(240, 200);
myJFrame.setLocation(200, 100);
myJFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// make the frame visible (activate the GUI frame)
myJFrame.setVisible(true);

我不确定如何开发将利用我在程序中创建的数组的语句。

4

1 回答 1

2

也许像这样?

for (String imgName : cardsArray)
{
    myJFrame.add(new JLabel(new ImageIcon(imgName)));
}

希望这可以帮助。

编辑:

我只是在框架中添加了JLabel一个。Icon该类ImageIcon只是Icon接口的一个实现,它通过从文件中读取图像来创建一个图标。创建带有图标的 JLabel 将显示图标而不是文本。您还可以组合文本和图标。有关更多信息,请查看文档

于 2013-11-03T02:31:49.300 回答