由SWT.getPlatform()想到的
来源:互联网 发布:澳洲甲级联赛角球数据 编辑:程序博客网 时间:2024/06/05 06:50
在Eclipse3.4版本中,SWT类提供了getPlatform方法,用以返回操作的系统平台。
一开始,我以为这个方法必定是调用了系统平台的函数或者本地(native)方法来获取的。
抱着这个想法。查看了SWT的源代码。
System.out.println(SWT.getPlatform());//返回系统平台
源码为:
/**
* Returns the SWT platform name.
* Examples: "win32", "motif", "gtk", "photon", "carbon"
*
* @return the SWT platform name
*/
public static String getPlatform () {
return Platform.PLATFORM;
}
package org.eclipse.swt.internal;
public class Platform {
public static final String PLATFORM = "win32";
}
由源代码可知,并不是调用的系统平台函数或本地方法。而在将当前平台所代表的字符串给硬编码(写死)在了
Platform.PLATFORM终态变量中。上面源代码是在wndows 32bit版本中查看的。
同时在Linux(linux 32bit)下我查看了Linux版本Eclipse。
发现它里面SWT类中getPlatform方法同样是硬编码,如下:
public static String getPlatform(){
return "gtk";
}
经常下载更新Eclipse的朋友都知道,Eclipse官方提供了windows,linux和mac三种不同版本Eclipse的供用户下载。
通过上面查看源码。可以得知,不同平台的Eclipse有不同的SWT相对应的jar库。
即在进行RCP开发时,若要提供多个平台版本(比如windows和linux),则既要提供一个windows版本,又要提供一个linux版本(需要使用linux版本的Eclipse进行打包)。
同时,也应该明确跨平台只是一个相对的概念。
- 由SWT.getPlatform()想到的
- 由本子想到的
- 由忧郁想到的
- 由电车男想到的
- 由MBV想到的
- 由“枣子”想到的
- 由 setMeidatime() 想到的
- 由ff想到的
- 由HelloWorld想到的
- 由观察想到的
- 由面试想到的
- 由自行车想到的......
- 由《变形金刚》想到的
- 由团队想到的.......
- 由PageRank想到的
- 由服务器想到的
- 由Signal想到的
- 由STL想到的
- Servlet_JSP深入详解_基于Tomcat的Web开发(笔记)
- ubuntu10.04安装virtualbox虚拟机
- Android下Content Provider使用
- WER
- dos命令
- 由SWT.getPlatform()想到的
- Baby -- justin bieber
- 巧用 、-符号来实现Word中表格的趣味绘制
- 《亲密关系》书摘 [美]莎伦 布雷姆
- 裸设备和Oracle的20问答
- 使用BCDEdit修改Windows 7启动菜单
- 关于ARM9中的协处理器CP15及MCR/MRC指令
- 机器人圆形队列算法(待完成2)
- 三十岁前不要去在乎的29件事 【转】