`
snoopy7713
  • 浏览: 1146689 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

Eclipse rcp/rap 开发经验总结(10) -Rap不同系统间的差异和处理方式

    博客分类:
  • RAP
阅读更多

平常进行 rap 程序开发一般都是在 win 下面完成 , 然后在 tomcat 下面测试 , 但是程序最终发布一般都是在 linux  aix 上面 , 这个时候就有能会出现一下问题,下面 2 个问题是我们把在开发中真是出现的问题,与大家一起分享下 ;

1、   图片路径

这个是最常用的方法,就是在 rap 中加载图片进行显示,刚开始我们使用的是如下代码

 

Java代码  收藏代码
  1. public   static  String getRoot() {  
  2.         String path = null  ;  
  3.         try  {  
  4.      path = FileLocator.toFileURL (Platform.getBundle (Activator. PLUGIN_ID ).getEntry( ""  )).getPath();  
  5.      path = path.substring(path.indexOf( "/"  ) +  1 , path.length());  
  6.         }  
  7.         catch  (Exception e) {  
  8.            log .error( "getRoot method :"  , e);  
  9.         }  
  10.         return  path;  
  11.     }  

 

来获得系统的跟路径 . 但是当程序在移植到 linux aix 上面的时候发现图片路径全部失效 . 可以使用如下方式进行寻址来获得图片。

Java代码  收藏代码
  1. /**  
  2.      * 获取图片  
  3.      * @param fileName  
  4.      *            图片的名称  
  5.      * @return 先从缓存对象中查找,若有直接返回,若没有,则将图片加载到缓存中,在从缓存中将图片传给调用着  
  6.      */   
  7.   
  8.     public   static  Image getImage(String fileName) {  
  9.         Bundle bundle = Platform.getBundle ( "TelecomUI"  );  
  10.         URL url = bundle.getEntry( "icons"  );  
  11.         try  {  
  12.             url = Platform.asLocalURL (url) ;  
  13.         }  
  14.         catch  (Exception e) {  
  15.         }  
  16.         Image image = registry .get(fileName);  
  17.         if  (  null  != image) {  
  18.             return  image;  
  19.         }  
  20.         else  {  
  21.             URL fullPathString = bundle.getEntry( "icons/"  + fileName);  
  22.             ImageDescriptor des = ImageDescriptor.createFromURL (fullPathString);  
  23.             registry .put(fileName, des);  
  24.             return  ImageDescriptor.createFromURL (fullPathString).createImage();  
  25.         }  
  26.     }   

 

 

 

2、   获得屏幕的分辨率

因为需要把一些弹出的组件居中显示 , 这个时候就需要获得系统的分辨率

刚开始我们使用的方法如下;

Java代码  收藏代码
  1. screenH = Toolkit.getDefaultToolkit().getScreenSize ().height;  
  2.         screenW = Toolkit.getDefaultToolkit().getScreenSize ().width;   

 

 

上面这段代码在 window 下面是没有问题的 , 可是到了 linux aix 下面就报错了 , 找不到

sun.awt.X11.XToolkit

 

可以采用如下方式来获得屏幕的分辨率     

Java代码  收藏代码
  1. DisPlay.getDefault().getClientArea();  

 

 

3、   其他如果有发现不兼容会陆续补充

分享到:
评论

相关推荐

    eclipse-rcp-2022-06-R-linux-gtk-x86_64.tar.gz

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-linux-gtk-x86_64.tar.gz) 适用于Linux x86_64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    eclipse-rcp-2022-06-R-win32-x86_64.zip

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-win32-x86_64.zip) 适用于Windows x86_64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    eclipse-rcp-2022-06-R-macosx-cocoa-x86_64.dmg

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-macosx-cocoa-x86_64.dmg) 适用于macOS x86_64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    eclipse-rcp-2022-06-R-linux-gtk-aarch64.tar.gz

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-linux-gtk-aarch64.tar.gz) 适用于Linux aarch64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    eclipse-rcp-2022-06-R-macosx-cocoa-aarch64.dmg

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-macosx-cocoa-aarch64.dmg) 适用于macOS aarch64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    eclipse-jee-2018-09-win32-x86_64.zip

    8. **RCP和RAP框架**:Eclipse Rich Client Platform (RCP) 和 Rich Ajax Platform (RAP)允许开发人员构建自己的桌面应用程序和Web应用,2018-09版本可能包含相关更新和改进。 9. **持续集成**:Eclipse与Jenkins、...

    eclipse-rcp-2022-06-R-linux-gtk-x86_64.tar

    该压缩包 "eclipse-rcp-2022-06-R-linux-x86_64" 中包含的主要文件是 "eclipse-rcp-2022-06-R-linux-x86_64",这可能是一个可执行的Eclipse IDE实例,用于在Linux系统上支持RCP和RAP的开发。为了运行这个IDE,你需要...

    通过例子学习EclipseRCP开发

    1. 安装Eclipse IDE:首先,你需要下载并安装Eclipse IDE for RCP and RAP Developers版本,这个版本包含了开发RCP应用所需的所有工具。 2. 创建新项目:在Eclipse中,选择“File” -> “New” -> “Project”,然后...

    eclipse 2020-06 国际化资源包

    Eclipse IDE for RCP and RAP Developers (includes Incubating components) Version: 2020-06 (4.16.0) Build id: 20200615-1200

    菜鸟EclipseRCP学习之路

    1. 安装Eclipse IDE for RCP and RAP Developers版本,这是一个专门为RCP开发定制的集成开发环境。 2. 创建一个新的Eclipse RCP项目,选择适当的模板,如“Basic”或“Feature-Based”。 3. 配置项目的运行时环境,...

    Eclipse RCP开发SDK_3.6.2.rar

    10. **SWT和JFace**:Eclipse RCP使用SWT(Standard Widget Toolkit)作为底层的GUI库,提供了高效的性能和操作系统级别的集成。JFace则是一层抽象,简化了UI组件的使用,提供了数据绑定和视图的高级支持。 在SDK_...

    Eclipse RCP 初级入门教程

    要开始RCP开发,首先需要安装Eclipse IDE,然后安装Eclipse RCP和RAP开发工具(PDE)。这些工具提供了一整套用于创建、调试和部署RCP应用的工具集。 **4. 创建第一个RCP应用** 在Eclipse中,通过“新建 -> 项目 -> ...

    Eclipse RAP Deploy - 针对Eclipse 3.5 + Tomcat

    这通常包括安装Eclipse RAP插件,如RCP和RAP Developer Tools。这些插件提供了项目模板、构建配置和调试工具,帮助我们更轻松地构建和测试RAP应用。 接下来,我们要准备Tomcat服务器。Tomcat是一个流行的开源...

    Instant Eclipse 4 RCP Development How-to.pdf

    《即时Eclipse 4 RCP开发指南》这本书详细介绍了如何使用Eclipse 4来创建富客户端应用程序(Rich Client Platform,简称RCP),它是一本实践操作指南,包含了超过10个实用的配方。Eclipse 4 RCP是Eclipse平台中用于...

    eclipse rap教程

    RAP利用了Eclipse插件系统的优势,使得桌面应用开发的经验可以无缝转移到Web开发中。这个教程将带你深入了解Eclipse RAP的基础知识和高级特性。 1. **RAP基础概念** - **RAP架构**:RAP基于请求-响应模型,服务器...

    eclipse-rcp-galileo-SR2-win32.zip

    Eclipse For RCP and RAP Developers开发包主要针对开发Eclipse插件,Eclipse RCP(富客户端应用程序),RAP(富客户端ajax应用程序)的程序员,还包含CVS、Mylyn和xml编辑器,EGit分布式版本控制等插件。...

    RCP工程转成RAP,并在浏览器中运行

    RCP和RAP都是Eclipse基金会开发的框架,前者用于构建桌面应用程序,后者则用于构建Web应用程序。 1. **RCP与RAP的区别** RCP和RAP在结构上非常相似,主要区别在于运行环境和用户交互方式。RCP是桌面应用框架,依赖...

    RCP+Plug-in开发自学教程_RCP+Plug-in开发自学教程_源码

    1. **环境搭建**:安装Eclipse IDE for RCP and RAP Developers,获取必要的RCP开发工具集。 2. **创建新项目**:通过New -> Project -> Plug-in Project,创建一个新的Plug-in项目。 3. **编写代码**:在项目的src...

    EclipseRCP:第一个 Eclipse RCP - Java 测试

    要开始开发 Eclipse RCP 应用,首先需要安装 Eclipse IDE for RCP and RAP Developers。这个版本的 Eclipse 集成了所有必要的工具和插件,如 PDE(Plug-in Development Environment)用于 RCP 开发。此外,确保已...

    Eclipse RCP入门

    Eclipse Rich Client Platform (RCP) 是一个强大的框架,用于...通过深入学习Eclipse RCP,开发者可以构建出具有专业级用户体验的桌面应用程序,同时利用Eclipse的丰富生态系统,集成第三方工具和服务,提升开发效率。

Global site tag (gtag.js) - Google Analytics