gpt4 book ai didi

java - 使用 JList 为图像查看器显示图像

转载 作者:行者123 更新时间:2023-12-01 13:06:27 25 4
gpt4 key购买 nike

我正在创建一个图像查看应用程序,在其中显示 jlist 中选定文件夹中的所有图像。因此它们将显示在一行中,然后当用户浏览列表时,图像将显示在同一窗口中的另一个 jlabel 上。问题是它对于小图像运行良好,但对于壁纸和其他包含大图像的文件夹,我遇到了 Java 堆异常。解决这个问题的最佳方法是什么?

public void loadImages(File directory) throws IOException, URISyntaxException {


File[] imageFiles = directory.listFiles();
model.removeAllElements();
for (int ii=0; ii<imageFiles.length; ii++) {
model.addElement(ImageIO.read(imageFiles[ii]));
}


}

最佳答案

一种方法:

  1. 当您将每个图像读入 ListModel 时,您将需要创建该图像的“缩略图版本”。这将最大限度地减少在 JList 中显示图像所需的内存量。

  2. 当您选择要在标签中显示的图像时,您将需要重新读取该图像,以便可以以其原始大小显示该图像。

关于java - 使用 JList 为图像查看器显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23225243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com