- 浏览: 151230 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
EclipseEye:
fair_jm 写道不错 蛮详细的 谢谢分享
SWT/JFace专题 --- SWT中Display和多线程 -
fair_jm:
不错 蛮详细的 谢谢分享
SWT/JFace专题 --- SWT中Display和多线程
==================
1.得到Eclipse安装目录(eclipse.exe所在的目录)绝对路径:
2.得到项目中资源路径(常用的比如图片等)
3.得到Eclipse的工作空间
(1)得到工作空间路径
(2) 得到工作空间中的项目
4.缓存资源相关,包括字体、颜色、图像等
org.eclipse.jface.resource.JFaceResources
Image的渐变效果:color1/color2是提供的原始颜色
---------------------------------
5.Eclipse编辑器Editor相关:
(3)通过文件打开对应的编辑器
6.Eclipse视图相关的
7.Eclipse中透视图转换
8. 通过反射给菜单区域添加背景色
10.
1.得到Eclipse安装目录(eclipse.exe所在的目录)绝对路径:
Platform.getInstallLocation().getURL().getPath().substring(1);
2.得到项目中资源路径(常用的比如图片等)
e.g.:getPluginResourcePath(“org.xxxx.xxx.xx.pluginId”,"icons/xxx.jpg");//就可以得到图片的绝对路径了 public static String getPluginResourcePath(String pluginId, String relativePathName) { try { Bundle bundle = Platform.getBundle(pluginId); URL url = bundle.getResource(relativePathName); if (url != null) { return FileLocator.toFileURL(url).getPath().substring(1); } } catch (IOException e) { e.printStackTrace(); } return null; }
3.得到Eclipse的工作空间
(1)得到工作空间路径
org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getLocation().toString();
(2) 得到工作空间中的项目
IProject[] pros=ResourcesPlugin.getWorkspace().getRoot().getProjects();
4.缓存资源相关,包括字体、颜色、图像等
org.eclipse.jface.resource.JFaceResources
(1)FontRegistry fontRegistry=JFaceResources.getFontRegistry();//注册字体,用于缓存 fontRegistry.put(key, new FontData[] { new FontData(fontName, height, style) });//填充数据 (2)ColorRegistry colorRegistry = JFaceResources.getColorRegistry();//注册颜色 colorRegistry .put(key, new RGB(red, green, blue)); (3)ImageRegistry imageRegistry = JFaceResources.getImageRegistry(); //Image image = new Image(Display.getDefault(), fullPathString); // ImageDescriptor descriptor = ImageDescriptor.createFromImage(image); ImageDescriptor descriptor = AbstractUIPlugin.imageDescriptorFromPlugin(pluginId, imageFilePath); imageRegistry .put(key, descriptor);-----
Image的渐变效果:color1/color2是提供的原始颜色
Image image = new Image(null, width, height); GC gc = new GC(image); gc.setForeground(color1); gc.setBackground(color2); gc.fillGradientRectangle(0, 0, width, height, true);//设置有颜色梯度的效果 gc.dispose();
---------------------------------
5.Eclipse编辑器Editor相关:
IWorkbenchPage page =PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); (1) IEditorPart part=IDE.openEditor(page, input, editorId);//通过page,input,和editorID 打开并获得EditorPart (2)part = IDE.openEditor(page, input);//打开默认编辑器
(3)通过文件打开对应的编辑器
IPath path = new Path(filePath); IFileStore fileStore = EFS.getLocalFileSystem().getStore(path); part = IDE.openEditorOnFileStore(page, fileStore);
6.Eclipse视图相关的
(1)page.findView(viewId)//通过ID找视图 (2)page.showView(viewId)//视图显示 (3)IViewReference viewRef = page.findViewReference(viewId); page.hideView(viewRef);//视图隐藏
7.Eclipse中透视图转换
IPerspectiveRegistry reg = PlatformUI.getWorkbench().getPerspectiveRegistry(); IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); page.setPerspective(reg.findPerspectiveWithId(perspectiveID));//perspectiveID为所要转换透视图的ID
8. 通过反射给菜单区域添加背景色
public void setMenuBG(Color bgColor) { Menu menu = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell().getMenuBar(); //反射的好处,只需要知道方法名及参数类型就可以调用 invoke("setBackground", menu, new Class[] { Color.class }, new Color[] { bgColor }); } Object invoke(String methodName, Object object, Class<?>[] argsTypes, Object[] args) { Object result = null; try { Method m = object.getClass().getDeclaredMethod(methodName, argsTypes); m.setAccessible(true); result = m.invoke(object, args); } catch (Exception e) { e.printStackTrace(); } return result; }9.设置标题工具栏可见(可以动态设定)
WorkbenchWindow activeWorkbenchWindow = (WorkbenchWindow) PlatformUI.getWorkbench().getActiveWorkbenchWindow(); activeWorkbenchWindow.setCoolBarVisible(true);
10.
发表评论
-
再说SWT中的滚动面板ScrolledComposite实现
2013-06-19 15:43 2353记得以前写过一篇关于滚动面板的文章 SWT中 Scrolle ... -
OSGi参考资料
2013-04-18 01:11 694基于 OSGi 的面向服务的组件编程 探索 OSGi 框架的组 ... -
CDT(编辑、调试)参考资料
2013-04-17 02:15 1126CDT编辑器 --------- 构建基于 CDT 的编辑器, ... -
Workspace Resource框架专题(3)处理工作空间资源更改事件
2013-04-17 01:44 13993 处理工作空间资源更改事件 工作空间API允许工具对它 ... -
Workspace Resource框架专题(2)workspace 框架API
2013-04-17 01:27 15042 工作空间API 本 ... -
Workspace Resource框架专题(1)Resource的概念
2013-04-17 01:12 14101 Resource的概念 如 ... -
如何恢复断点及Marker
2013-03-05 00:41 0如何恢复断点及Marker -
深入Workbench框架
2013-03-01 02:10 1773深入Workbench框架(结合UIPersistent) 1 ... -
Eclipse插件开发中的Action
2013-02-24 23:10 2024插入点用来定义菜单出 ... -
Eclipse开发中编辑器(Editors)和视图(View)总结
2013-02-24 22:58 29381.视图(Views) 视图( ... -
SWT/JFace专题 --- 对话框向导(Dialogs Wizards)
2013-02-24 22:42 2279对话框向导(Dialogs Wizar ... -
SWT/JFace专题 --- JFace
2013-02-24 22:37 1680JFace JFace是基于SWT的一套图形工具包,它没有为 ... -
SWT/JFace专题 --- SWT中Display和多线程
2013-02-24 15:25 3272Display 1.Display 的创建 一个SWT程序 ... -
SWT/JFace专题 --- SWT API 结构
2013-02-23 18:31 1096SWT API 结构 1.布局类(l ... -
Eclipse启动过程(源码级剖析)
2013-02-20 03:24 3444双击eclipse安装目录下的eclipse.exe运行后,会 ... -
SWT/JFace专题 --- SWT结构浅析
2013-02-23 17:02 1036SWT技术是一套基于Java的 ... -
Eclipse平台体系结构
2013-02-21 23:56 19581.Eclipse平台体系结构 1 ... -
RCP平台架构
2013-02-23 14:11 1507RCP 富客户端通常是指具有独立用户界面的客户端程序。富客户 ... -
Ant构建脚本相关
2013-02-18 01:26 0Ant构建脚本相关 -
CDT源码架构研究
2013-02-18 01:24 0CDT源码架构研究
相关推荐
以下是对"Maven常用知识整理"的详细阐述: 1. **项目依赖管理**:Maven通过pom.xml文件来管理项目的依赖关系,使得开发者可以声明项目需要的库,Maven会自动下载并管理这些库。依赖的版本冲突问题,Maven会按照一定...
Eclipse是一款广泛使用的开源集成开发环境(IDE),尤其在Java开发领域,它以其强大的功能、丰富的插件生态和高度的可扩展性赢得了程序员的青睐。Eclipse不仅支持Java,还可以通过安装不同插件来支持C++、Python等...
三、Eclipse插件与扩展 1. 安装插件:Eclipse拥有丰富的插件生态系统,如Mylyn用于任务管理,Subversive或Git用于版本控制。学习如何通过Eclipse Marketplace安装和配置这些插件。 2. Maven集成:了解如何在...
7. Maven Helper的使用:展示如何利用这个Eclipse插件分析和优化项目的依赖关系。 8. 实战案例:提供实际项目中的示例,演示如何在Eclipse中使用Maven进行项目构建和文档生成。 通过这份文档,读者将能够深入理解并...
以上是根据《Eclipse中文教程》的部分内容整理出的关键知识点,涵盖了Eclipse的基本概念、核心功能以及Java程序开发的具体步骤。通过这些知识点的学习,可以帮助初学者快速掌握Eclipse的使用技巧,提升开发效率。
以上是Eclipse配置的一些核心知识点,掌握这些配置可以帮助开发者更加高效地利用Eclipse这一工具进行软件开发。根据个人和项目的需求,可能还会需要更多的个性化配置。在进行配置时,应该熟悉Eclipse的偏好设置界面...
### Eclipse 整合开发工具教程知识点详述 #### 一、Eclipse 简介 **1.1 历史背景** Eclipse 是一款开源的集成开发环境(Integrated Development Environment,IDE),最初由 IBM 开发,并于 2001 年 11 月发布。...
此外,“常用的一些插件”可能指的是针对特定开发环境(如Visual Studio Code、IntelliJ IDEA或Eclipse)的扩展插件,这些插件能提升开发效率,比如自动格式化代码、智能提示、错误检查等。 根据“标签”,我们可以...
接下来,通过深入学习 Eclipse 集成开发环境,包括其安装、使用、调试功能以及插件扩展,为后续的 Java 开发打下坚实基础。Eclipse 提供的强大功能和高度可定制性,使得它成为 Java 开发者的重要工具。
### Eclipse中文学习教程知识点梳理 #### 一、Eclipse简介 **1.1 历史背景** - **起源与发展**:Eclipse最初由IBM公司于2001年发布,是一个开源集成开发环境(IDE),旨在为软件开发者提供一个灵活、可扩展的平台...
【标题】"xiaobao---java开发编程笔记整理"是一份由xiaobao编写的关于Java开发的综合学习资料,其中涵盖了Eclipse集成开发环境、Struts、Hibernate和Spring等多个关键技术和框架。这些技术在Java开发领域中占据着...
- Eclipse通过插件机制扩展了其功能,使其能够适应不同的开发需求。 #### 1.3 Eclipse版本介绍 - Eclipse有多个版本,包括针对不同编程语言和特定应用的版本。 - 例如,Eclipse Classic是最常见的版本,适合Java...
### Eclipse中文教程知识点详解 ...以上是根据《Eclipse 中文教程》文档整理出的知识点概述。Eclipse 作为一款强大的集成开发环境,不仅支持 Java 开发,还提供了丰富的插件扩展能力,能够满足不同开发者的需求。
它采用Eclipse工程的形式组织,使得用户可以轻松导入到Eclipse开发环境中进行查看和测试。下面将详细阐述其中可能包含的重要知识点: 1. **Java基础知识**:此代码库可能涵盖Java语言的基础语法,如数据类型、变量...
### Eclipse中文教程知识点详解 #### 一、Eclipse简介 **1.1 历史背景** Eclipse是由IBM在2001年发起的一个开源项目。最初它是为了支持Java开发而创建的,但随着时间的发展,它已经演变成一个通用的开发平台,...
随着时间的发展,Eclipse逐渐成为了一个非常强大的开源集成开发环境(IDE),支持多种编程语言,并且可以通过插件的形式进行扩展,满足不同开发者的需求。 **1.2 开放源代码软件** Eclipse作为一个开源项目,其...
### Eclipse全面教程知识点详解 #### 一、Eclipse概述与历史背景 - **Eclipse**:Eclipse是一款开源的、可扩展的集成开发环境(IDE),适用于多种编程语言,包括但不限于Java、C/C++等。 - **历史背景**:Eclipse...
9. **插件安装**:Eclipse的可扩展性很强,通过安装各种插件可以支持不同语言(如C++、Python)的开发,或者增强编辑器功能,如代码提示、错误检查等。 10. **版本控制系统集成**:Eclipse可以集成Git、SVN等版本...