Url 在eclipse插件中查找图标
我想获取Eclipse插件中图标的操作系统位置,我使用以下代码:Url 在eclipse插件中查找图标,url,jar,eclipse-plugin,uri,bundle,Url,Jar,Eclipse Plugin,Uri,Bundle,我想获取Eclipse插件中图标的操作系统位置,我使用以下代码: URL fileURLIconChoose=bundle.getEntry(“pluginIcons/iconConfirm.png”); 字符串pathIconChoose=null; 试一试{ pathIconChoose=FileLocator.resolve(fileURLIconChoose.toURI().getPath(); }捕获(URISyntaxException e1){ e1.printStackTrace
URL fileURLIconChoose=bundle.getEntry(“pluginIcons/iconConfirm.png”);
字符串pathIconChoose=null;
试一试{
pathIconChoose=FileLocator.resolve(fileURLIconChoose.toURI().getPath();
}捕获(URISyntaxException e1){
e1.printStackTrace();
}捕获(IOE1异常){
e1.printStackTrace();
}
JButton confirm=newjbutton(newimageicon(pathIconChoose));
当我在eclipse环境中运行代码时,它工作正常,但当我导出产品并在eclipse中安装它时,它失败了
如何解决图标加载问题?是否有其他方法访问插件中的图标?您将需要使用
FileLocator.toFileURL(URL URL URL)
API
从中可以看到,当您需要访问文件时,它会将文件的内容提取到磁盘
重新工作的代码:
URL fileURLIconChoose=bundle.getEntry(“pluginIcons/iconConfirm.png”);
字符串pathIconChoose=null;
试一试{
pathIconChoose=FileLocator.toFileURL(fileURLIconChoose.toURI().getPath();
}捕获(URISyntaxException e1){
e1.printStackTrace();
}捕获(IOE1异常){
e1.printStackTrace();
}
JButton confirm=newjbutton(newimageicon(pathIconChoose));
这是如何失败的?有堆栈跟踪吗?在此处包括堆栈跟踪。没有堆栈跟踪,因为在安装后启动它时会出现错误…但是pathIconChoose
保持为空,并且在执行一些测试后,问题是在FileLocator.resolve(fileURLIconChoose)上调用它时
问题仍然存在……当我导出插件并在Eclipse上尝试此操作时,pathIconChoose
保持空值……还要确保插件中的build.properties包含在bin.includes文件夹pluginiconyes中,我将其插入到build.includes in plugin.xml中,您可以打印fileURLIconChoose的值,然后还可以打印FileLocator.toFileURL()URL的值来比较两者吗?可以通过JOptionPane。。。对于文件urliconchoose file:/C:/Program Files(x86)/eclipse/configuration/org.eclipse.osgi/bundles/848/1/.cp/pluginIcons/iconConfirm.png;对于FileLocator.toFileURL,该URL为空