java - Eclipse 插件问题 : icons/images show fine locally but not from jar/update site.

标签 java eclipse image eclipse-plugin

我目前有一个带有 View 的 eclipse 插件。在 src foler 中,有一个图标文件夹,其中包含一些我想在我的插件中使用的图像。在我的程序中,我使用如下行:

public static final Image anImage = new Image(null, "sample_image.gif");

然后继续在某处使用该图像。这在我在本地运行我的程序时有效,但是当我将我的插件导出到一个 jar,然后将它安装到一个新的 Eclipse 时,插件会中断。当我在代码中取出图像使用时,插件在没有图像的情况下正常工作。我想知道正确的方法是什么才能让我的图像在导出的 jar 文件中用于插件安装。

我有一个以前的问题和与此类似的问题,有人建议使用 Classloader.getResource()。我没有太多运气试图让它工作,而且似乎没有必要,因为默认情况下,如果您使用 PDT 生成的 Eclipse View 插件演示模板,它带有一个图标文件夹,该文件夹使用“sample.gif”,据我所知,效果很好。

感谢您的任何建议。

最佳答案

通常您应该使用图标文件夹方法。确保文件夹已导出到 build.properties 文件中(在 bin.includes 部分下)。如果您使用 MANIFEST.MF 编辑器并勾选“构建”选项卡的“二进制构建”部分中的图标文件夹。 src 文件夹的处理方式不同——它假设有要编译的代码并且包含编译后的输出,而不是原始文件夹。 当使用工作区中的插件从 Eclipse 运行时它“有效”,因为使用工作区目录而不是编译的插件。 您可以使用 AbstractUIPlugin 中的 imageDescriptorFromPlugin 加载图像. 例如使用;

Image img = AbstractUIPlugin.imageDescriptorFromPlugin("you.bundle.id", "/icons/sample_image.gif").createImage();

关于java - Eclipse 插件问题 : icons/images show fine locally but not from jar/update site.,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11964896/

相关文章:

python - Pydev 有选择地运行单元测试

image - 未显示 Amazon S3 图像 - 已禁用对此对象的所有访问

html - 如何保持背景图像质量清晰?

java - 格式化字符串日期

java - 使用不带 BufferedImage 的 PNGJ 读取 PNG 像素

JavaEE : Trying to bind interceptor via annotation with multiple values

java - TTP 状态 500 - 实例化 servlet 类时出错 com.zestedesavoir.servlets.Test>

使用 Netbeans 或 Eclipse 的 PHP?

java - 如何计算算法的时间和空间复杂度

css - 如何使使用 css 调整大小的图像在 IE 中看起来不错?