Java setTitleImage和FileLocator
我将在java插件中设置jface对话框的标题图像。当我写下面的代码时,我有一个错误。找不到该文件。我该怎么办Java setTitleImage和FileLocator,java,eclipse,Java,Eclipse,我将在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); Fi
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使用一个特殊的“协议”值,该值只有Eclipse和JFace代码才能理解,比如bundleentry://84.fwk537066525/icon/c.png. SWT代码(如图像)不理解URL
最好的做法是从JFace ImageDescriptor创建图像:
您也可以使用FileLocator.toFileURL,但这可能会导致插件被解包,因此在有更好的替代方案的情况下应避免使用
ImageDescriptor desc = ImageDescriptor.createFromURL(url);
Image image = desc.createImage();