gpt4 book ai didi

java - 如何在 JFace LabelProviders 中处理 Windows shell 图标?

转载 作者:行者123 更新时间:2023-12-02 06:17:09 25 4
gpt4 key购买 nike

我想在 TreeViewer 中显示文件和文件夹以及相关的 Windows shell 图标。我用 SHGetFileInfo 函数来获取图标,然后我将它们转换为 org.eclipse.swt.graphics.Image .

它工作得很好,但是当我显示大量文件时,我收到错误:“org.eclipse.swt.SWTError:没有更多句柄”。 SWT 是对的,我创建了太多图像。因为我必须从 org.eclipse.jface.viewers.LabelProvider.getImage(Object) 返回它们.

遇到这种情况我该如何处理?

(我无法“缓存”图像,因为图标可以是动态的,甚至每个文件夹都不同。)

最佳答案

您确实需要找到一种方法来识别从 SHGetFileInfo 获得的不同的唯一图像,并且只为每个图像创建一个 Image。您还必须跟踪您创建的图像,因为您还必须处理它们。

您可以使用org.eclipse.jface.resource.ImageRegistry来帮助管理图像。这需要一个字符串键来识别每个图像。看起来 SHGetFileInfo 为您提供了一个可以用作唯一键的索引号。

关于java - 如何在 JFace LabelProviders 中处理 Windows shell 图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21352226/

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