作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将在java插件中设置jface对话框的标题图像。当我编写下面的代码时,出现错误。找不到该文件。我该怎么办?
Bundle bundle = Platform.getBundle("Layout");
URL url = FileLocator.find(bundle, new Path("icon/c.png"), null);
image = new Image(Display.getDefault(), url.toString());
setTitleImage(image);
最佳答案
FileLocator.find
返回的 URL 使用特殊的“协议(protocol)”值,该值只能被 Eclipse 和 JFace 代码理解(类似于 bundleentry://84.fwk537066525/icon/c .png
)。 SWT 代码(例如 Image
)无法识别 URL。
最好的办法是从 JFace ImageDescriptor
创建 Image
:
ImageDescriptor desc = ImageDescriptor.createFromURL(url);
Image image = desc.createImage();
您还可以使用 FileLocator.toFileURL
但这可能会导致插件被解压,因此在这种情况下应该避免使用,因为有更好的替代方案。
关于java - setTitleImage 和 FileLocator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47266169/
我将在java插件中设置jface对话框的标题图像。当我编写下面的代码时,出现错误。找不到该文件。我该怎么办? Bundle bundle = Platform.getBundle("Layout")
我是一名优秀的程序员,十分优秀!