- 浏览: 152940 次
- 性别:
- 来自: 北京
-
最新评论
-
EclipseEye:
fair_jm 写道不错 蛮详细的 谢谢分享
SWT/JFace专题 --- SWT中Display和多线程 -
fair_jm:
不错 蛮详细的 谢谢分享
SWT/JFace专题 --- SWT中Display和多线程
文章列表
需求:在IDE(一款基于Eclipse的开发工具)下一次打开工程的时候,恢复上一次关闭前的状态。恢复粒度:和工程相关的。
1.先了解一下Eclipse本身的恢复功能:
经常用Eclipse做开发,我们知道,Eclipse的UI持久化及窗户恢复功能做的是很完善的,比如ProjectExplorer视图中工程的展开状态、Editor区域的文件的代码状态,各个视图的展现状态,Dialog,MenuBar,ToolBar等待,Eclipse都很好的恢复到了上次我们关闭前的状态。
在Eclipse关闭前他会启动UI持久化功能,把需要保持的各个控件的状态信息(IMemento对象)持久化到一个文件中(这个 ...
深入Workbench框架
- 博客分类:
- Eclipse插件开发
深入Workbench框架(结合UIPersistent)
1.整体架构E-R图
工作台(Workbench)包含一个或多个WorkbenchWindow,每个WorkbenchWindow又包含0~n个WorkbenchPage,不过一般情况下就一个WorkbenchPage页面。
WorkbenchPage中包含了Editor、View、Perspective等信息,其中Editor和View是在界面上用户可见的,透视图Perspective虽然可以通过透视图Bar进行切换,但它并不是UI组件,它只是View和Editor的集合,其中有Layout布局管理器可以控制View和Editor在 ...
插入点用来定义菜单出现的位置。由于Eclipse由插件组成,而每个插件又都可以添加操作,这些插件直接可能不会彼此知道。为此,Eclipse仿照标示符的使用方法,使用“插入点”(insertion point)来指定菜单或操作将在工作台的什 ...
1.视图(Views)
视图(实现了org.eclipse.ui.IViewPart接口)包含在视图站点(org.eclipse.ui.IViewSite)中,并通过视图站点包含在工作台页面(IWorkbenchPage)中。视图通过getViewSite()来获得视图站点,而视图站点通过实现继承自工作台站点(I ...
对话框向导(Dialogs Wizards)
对话框和向导通常被看做模态UI,它们限制用户输入请求的信息。模态UI通常用于程序在运行其他处理之前搜集和分发信息的场合,并且搜集和分发信息的过程不需要同其他的界面元素交互便可以完成 ...
JFace
JFace是基于SWT的一套图形工具包,它没有为SWT提供任何新的功能,只是将一些繁琐而且常用的图形操作封装了起来,使得开发工作更加简便。JFace完全使用SWT API进行开发,并没有涉及到SWT中任何平相关的部分,所以JFace没有不同平台版本之分。
JFace的雏形是在Eclipse开发人员编写IDE图形界面时,为了方便而针对一些常见的图形界面开发模式(如对话框等)开发出来的一系列组件。由于JFace只是对SWT的少数常用的部分功能的封装,所以,JFace不能完全代替SWT,通常的开发方式是使用SWT完成大部分的工作,并在适当的时候使用JFace。那么什么是适当的时候呢,这 ...
Display
1.Display 的创建
一个SWT程序至少需要一个Display对象,创建Display对象的线程被称为UI线程,一个UI线程只有唯一的display对象(如果需要,可以在其他线程中创建)。
Display.getDefault()方法首次调用时会创建Display实例,随后再次调用这个方法可获取已创建的实例。
Display.getCurrent()方法可以获得当前线程对应的Display实例;
Display.findDisplay(Thread)则可以找到线程对应的Display对象;
在并发多线程的程序中推荐如下的代码来管理Display实例:
public st ...
SWT API 结构
1.布局类(layout)
布局类负责者控件在窗口中的摆放位置,并在窗口大小变化时重新摆放它们
它主要由布局管理器组成。布局管理器将窗口的布局设计与窗口中控件的具体业务逻辑分离开来,使得编程工作的模块划 ...
SWT技术是一套基于Java的第三方图形工具库。它的设计思想是提供一套通用的API,使得开发出的图形程序可以不加修改地在平台之间移植,而且在外观上和速度上与使用C/C++等语言在操作系统平台上开发出来的本地图形程序毫无差 ...
SWT(Standerd Widget Toolkit,标准图形工具箱)是一种用Java开发GUI程序的技术。
SWT吸取各个图形平台的经验,决定自己的一个控件集合,然后针对某个目标平台进行判断,目标平台上有的控件,SWT会直接使用,以达到较快的处理速度和本地化的效果显示,
否则,SWT则会自行绘制,使得目标平台支持这个控件。
JFace是一套基于SWT的工具箱。
它将一些常用的界面操作包装起来,对界面设计进行进一步的抽象,使得开发人员更多的去关注业务逻辑,而不是重复的编写界面的控制代码。JFace的设计目的是和SWT协同工作,而不是将SWT的实现隐藏起来。开发中经常会同时使用SWT和JFac ...
RCP平台架构
- 博客分类:
- Eclipse插件开发
RCP
富客户端通常是指具有独立用户界面的客户端程序。富客户端程序可以是依赖于服务器的前台界面,也可以是独立运行的软件系统,与传统客户端程序相比,富客户端程序的功能更加强大,用户界面体验也更为丰富。Eclipse富客户端平台(Rich Client Platform,RCP)基于插件技术体系,为开发者提供了强大和方便的功能。
RCP将调试、版本控制等模块从传统的Eclipse平台中剥离,仅保留了作为核心的运行时框架和SWT,JFace为基础的UI框架两大部分,同时将“帮助系统模块和自动更新模块作为可选项,搭建一个通用的程序开发平台。
RCP作为一个优秀平台,具有以下特点:
-插件化的架构使得 ...
Eclipse平台体系结构
- 博客分类:
- Eclipse插件开发
1.Eclipse平台体系结构
1)Eclipse平台架构
Eclipse是围绕插件概念构建的,Eclipse平台部分的所有子系统除了很小的核心之外,都是由插件构成。 Eclipse平台中的每一个子系统本身是由实现某些关键功能的一组插件构建的。这些插 ...
双击eclipse安装目录下的eclipse.exe运行后,会加载同一目录下的eclipse.ini文件(对应RCP项目也是一样,在RCP的安装目录下会有一个RCPName.ini文件):
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
-product
org.eclipse.epp.package.rcp.produc ...
使用开源软件构建并发应用程序
----------------------------------
1 开源软件Amino介绍
Amino是Apache旗下的开源软件。读者可以访问http://amino-cbbs.sourceforge.net/得到其
最新版本。
Amino Java 类库将提供优化后的并发线程组件,适用于JDK6.0 及 ...
线程安全
==================
同步
-------
Java 提供了 synchronized 关键字来支持内在锁。Synchronized 关键字可以放在方法的前
面、对象的前面、类的前面。
1. 同步方法中的锁
public synchronized void deposit(int amount) {
balance = balance + amount; ...