- 博客(34)
- 收藏
- 关注
原创 通过Java SWT调用操作系统的信息
最近在做一个客户端监控的功能,需要提取用户电脑的CPU编号和网卡的编号,采集用户的登陆数据,据我所知道直接通过Java来调用操作系统的信息是非常困难的事情(我好像没有发现JavaAPI提供了这个功能),那这样的话只能通过JNI访问系统的信息了,不过我没有直接就埋头写代码,因为以前听说过一个叫org.eclipse.swt.extension的插件可以直接使用,这个插件是SWT的一个扩展包,主要
2008-06-29 20:59:00 3237 1
原创 Eclipse 3.4 的新一代更新管理器 P2
让人很期待的Eclipse3.4在这个月的25号发布了,点这里下载,这个3.4版本是Eclipse项目发布的10周年庆典版,至今Eclipse项目共有23个子项目,此次发布的Ganymede 版本引入不少亮点,也提供了很多非常不错的新特性,使用起来方便了不少,具体有哪些新特性,可以打开新下载下来的Eclipse3.4的帮助内容,或者可以查看一下在线更新历史 ,这个版本最值得注意的就是P2,
2008-06-27 10:28:00 4168
转载 提取汉字首字母拼音
public class EncodeUtil { /** 国标码和区位码转换常量 */ public static final int GB_SP_DIFF = 160; /** 存放国标一级汉字不同读音的起始区位码 */ public static final int[] secPosvalueList = { 1601, 1637, 1833, 2078
2008-05-22 21:25:00 1470
原创 Java 编辑器使用笔记
1.在编辑器里显示行号: CompositeRuler ruler = new CompositeRuler(); SourceViewer sv =new SourceViewer(composite,ruler,SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL ); LineNumberRulerColumn
2008-05-04 09:59:00 1237
原创 AST 使用笔记
最近公司要求我做一个可以生成代码的工具,需求为像SWT-Desinger那样,多页编辑器,一页显示源代码,另外一页用表格的形式显示类的属性,要求可以修改,这也不是什么和困难的事情,不过以前没做过这样的东西,还得找找资料来研究研究,发现有个叫AST的东西,是Eclipse提供的工具,以前听说过,不过不怎么用,经过一段时间的学习,发现这东西还真不赖,功能挺强大的,像Eclipse的重构功能就是通
2008-04-29 19:18:00 5175 1
原创 使用Eclipse Job执行异步线程的处理
最近在项目开发过程中,需要通过后台处理大量的业务数据,而在UI界面发出查询命令到后台返回查询结果需要时间,特别是这些数据又需要从数据库或者远程网络获取,通常情况下UI界面会一直等待查询方法执行完了才会进行响应,在这个过程中看起来界面好像死了一样,给用户的体验是非常的差,如果我们能通过一个进度条显示当前的进度,就算做一个假的进度显示也好,可以打发用户无聊的时间嘛,这时候我们就要考虑使用多线程了
2008-03-31 21:50:00 6142 2
原创 锁定透视图
有时我们在开发插件的时候,希望透视图能固定,不让视图或透视图具有缩放的功能,这样可以防止用户在使用的过程中不小心缩小了视图或透视图的时候不知道怎样恢复,其实要固定视图和透视图方法很简单,只要在我们定义的透视图中的方法中这样修改就可以了 /** * Creates the initial layout for a page. * @param layout */ pub
2008-03-13 10:59:00 1647
原创 使用Eclipse中的更新配置界面
在Eclipse中的众多特性中有一条可以自动更新的功能, 我们可能在实际使用中也需要Eclipse那样的更新功能,而Eclipse提供了更新和管理插件的配置对话框,在这里我们可用发扬发扬"拿来主义",直接拿过来用,过程很简单,步骤如下 新建一个插件项目,然后打开 plugin.xml 文件,切换到 Extensions 选项卡,增加"org.eclipse.ui.action
2008-03-04 17:18:00 3951
原创 添加属性页
我们先来看看Eclipse提供的属性页 通过这个属性页我们可以更详细的了解一些属性的详细内容,而且可以将这些展示的界面集中起来,统一管理,非常方便,而且可以让界面的风格可以统一 我们新建一个RCP工程,名称为com.vwpolo.rcp.propertypage,然后在新建一个 PropertyPage 类, 打开这个项目的plugin.xml文件,切换
2008-03-04 17:17:00 4096
原创 给表格添加排序功能
在日常工作中,我们在使用表格浏览数据的时候,希望数据能按照一定的规则进行排序,这样查看起来会非常的方便,这时我们可以在表格中加入排序的功能,这样表格中的内容便可以按照一定的规则进行排序,下面我们来看看怎么给表格加上排序的功能,其实这个功能实现起来很简单,下面我们来看看怎么实现, 实现我们新建一个实现了 ViewerSorter 的类,比如名称为 UserInfoSorter .jav
2008-03-04 17:16:00 1833 1
原创 给视图添加工作栏和菜单栏
在视图添加Action和菜单很简单,我们用RCP自带的邮件模板新建一个RCP工程,将一些无用的代码删除,然后在View.java中声明一个Action对象,我们将这个Action对象加入到View的工具栏上,代码很简单,代码如下 package com.vwpolo.rcp.viewaction;import org.eclipse.jface.action.Action;publ
2008-03-04 17:14:00 1827
原创 使用视图链接功能 实现IAdaptable接口
这篇文章主要介绍使用 IAdaptable 接口来进行视图的链接 : IAdaptable 在Eclipse里是一个非常重要的接口, 在整个插件体系中也起着举足轻重的作用 。 IAdapteable实际上在Eclipse早期版本中不叫这个名字,它原来的名字叫做IExtensible,顾名思义就是可以扩展的意思,后来为了更能突出是由一个类配适到一个接口这么一种机制,所以
2008-03-04 15:31:00 1974
原创 使用视图链接功能 选择服务器
我们可以在插件中向 GUI 提供各种视图。但是,UI 视图不能是孤立的。它们需要根据其他视图的状态进行交互和对本身进行更新。所以在这里介绍以下链接视图的方法 我们可以通过下面这几种方法 对视图进行链接: 1、选择提供器 - 选择监听器(selection provider-selection listener)模式,从而让视图对其他视图中的选择做出反应 2、IAdaptable 接口
2008-03-03 16:48:00 1376
转载 值得一生珍藏的七个经典哲理寓言
一、成长的寓言:做一棵永远成长的苹果树 一棵苹果树,终于结果了。第一年,它结了10个苹果,9个被拿走,自己得到1个。对此,苹果树愤愤不平,于是自断经脉,拒绝成长。第二年,它结了5个苹果,4个被拿走,自己得到1个。“哈哈,去年我得到了10%,今年得到20%!翻了一番。”这棵苹果树心理平衡了。 但是,它还可以这样:继续成长。譬如,第二年,它结了100个果子,被拿走90个,自己得到10个。
2008-02-28 14:28:00 939 1
原创 RCP 学习笔记 启动登录
三、 启动用户程序进行登录验证 我们在某些情况下要求用户有相应的权限才能执行操作时,必须在程序启动是验证用户是否是合法的用户,这时我们可以在程序启动是弹出登录对话框,如果登录成功的话才可以进入系统,否则无法进入 要在RCP程序中实现这样的功能很简单,我们只要在 Application.java 这个类的 start(IApplicationContext context) 方
2008-02-21 18:31:00 5372
原创 RCP 学习笔记 之 添加闪屏
二、添加闪屏 我们先准备好一张要做成闪屏的图片,将图片直接复制到工程目录中去,注意图片名称最好改成splash.bmp,这样方便点,文件机构下图所示, 这时如果启动的话发现闪屏根本不会显示,因为我们没有给项目指定闪屏的位置,这时我们要给这个项目新增一个*.product 文件,文件名称任意取 我们选择创建一个基本的配置文件,点完成,然后可以配置文件的属性了,接
2008-02-21 18:29:00 4203 2
原创 使用 Equinox 的Declarative Service 的一个简单例子
先前介绍过OSGI中的服务的注册,上次讲的服务的注册是通过手工来完成的,比如LoginService loginService = new LoginServiceImpl();// 注册服务context.registerService(LoginService.class.getName(), loginService, new Hashtable());// create
2008-02-18 08:45:00 4220
原创 使用OSGI的服务
研究OSGI也有点时间了,想把学到的东西记录下来,当作学习笔记吧 今天我们来看下OSGI中的服务注册方法,还是通过一个简单的例子来说明怎么使用吧 首先我们先新建一个使用HelloWorld模板的RCP项目, 项目建好了,文件结构如下图所示: 打开 Activator .java 这个类,下面我们主要是对这个类进行扩展,先说一下,这个类是负责插件的加载
2008-02-13 18:25:00 4542 3
原创 教你怎样扩展Eclipse的扩展点(五)
现在运行看看效果吧,先打开运行配置对话框 先将TheMainMenuProject 和 TheSecondMenuProject项目选中,然后点击 "添加依赖插件" 运行。。。 可以看到,结果和我们期望的一样。我们自己可以多动动手来做一些实例,这样上手会快些
2008-02-13 18:20:00 1736
原创 教你怎样扩展Eclipse的扩展点(四)
现在差不多了,我们在 ApplicationActionBarAdvisor .java 文件的 fillMenuBar 方法调用 ExtensionHelper 的方法就行了 protected void fillMenuBar(IMenuManager menuBar) { MenuManager fileMenu = new MenuManager(
2008-02-13 18:19:00 1903
原创 教你怎样扩展Eclipse的扩展点(三)
接下来,我们开始实现 扩展点的一些 功能吧,新增选中的包和类: 为了方便起见,我将这些类的源代码贴出来 TheFirstAction .java: package org.vwpolo.rcp.extension.client.actions;import org.eclipse.jface.action.Action;/** * 。 * @author 刘绕兴 *
2008-02-13 18:18:00 2716
原创 教你怎样扩展Eclipse的扩展点(二)
我们先新建一个 元素(New Element)名称为 extender,这时有两个元素了,在第一个元素上点右键,在弹出的对话框中选择"序列", 再在这个新增的对象上右键新增一个 extender 对象。 在 extender 的明细页中将 最大边界选择为 无边界就行了。 接下来我们给 extender 元素增加属性,过程就省略了 上面是添加好的属性,
2008-02-13 18:15:00 2241
原创 教你怎样扩展Eclipse的扩展点(一)
现在手头上做的基于Eclipse RCP的上海佳吉快运第三代运营系统的项目也快接近尾声了,经历一个项目从设计开发到马上完成的过程,也从中向同事们学到了很多的东西,所以今天我想将项目中用到的一些技术细节记录下来,也当作是我的学习笔记吧,以后自己也可以看看。 这里要介绍的是关于Eclipse 中扩展点的问题,我们知道,Eclipse本身提供了很多的扩展点,这样的话,我们可以根据需要对Ec
2008-02-13 18:13:00 6001
原创 我也来玩Equinox(三)
运行成功了,我们先来熟悉一下OSGI 的命令吧: 在控制台中输入 help ,显示帮助osgi> helpValid commands:---Controlling the OSGi framework--- launch - start the OSGi Framework shutdown - shutdown the OSGi Framework close
2008-02-12 14:15:00 2732
原创 我也来玩Equinox(二)
项目建好了,我们来看一下MANIFEST.MF 这个文件 Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: MyFirstEquinoxExample Plug-in Bundle-SymbolicName: myFirstEquinoxExample Bundle-Version: 1.0.0
2008-02-12 14:13:00 2389
原创 我也来玩Equinox(一)
先介绍一下Equinox的背景信息,Equinox是OSGI R4的一个实现,Equinox这个项目是由Eclipse 开源组织实现并发布的,也是大名鼎鼎的Java开发工具 Eclipse 的底层机制的实现,如果对Eclipse有点熟悉的话,你就知道Equinox 这个东西是多么的棒了,从Eclipse 3.0开始,Eclipse 开发团队放弃了以前Eclipse 所使用的插件体系,而将 E
2008-02-12 14:12:00 7663
原创 我也来玩OSGI(六)
现在我们可用运行一下这个例子卡看效果了,右键 -> 点击 Run ,开始运行,这时可用看到对话框弹出来了,在控制台的 osgi > 输入 ss 可用看到已启动的Bundle我们在登录对话框中输入用户名和密码登录试试: 输入用户名 : vwpolo ; 密码: 123 点击登录可以看到现在是已 "LDAP 登录方式" 进行登陆,现在我们想通过其他的登陆的话可以先卸载 L
2008-02-04 16:04:00 1894 3
原创 我也来玩OSGI(五)
新建一个叫 LDAPLoginBundle 的Equinox 项目 文件结构如图所示,我们要在 META-INF/MANIFEST.MF 中的 依赖 选项卡中选择导入 org.vwpolo.services 这个包package org.vwpolo.login.service;import java.util.Hashtable;import org.osgi.framewo
2008-02-04 14:14:00 1536 1
原创 我也来玩OSGI(四)
新建一个叫 ConfigFileLoginBundle 的Equinox 项目 文件结构如图所示,我们要在 META-INF/MANIFEST.MF 中的 依赖 选项卡中选择导入 org.vwpolo.services 这个包package org.vwpolo.login.service;import java.util.Hashtable;import org.osg
2008-02-04 14:04:00 1365
原创 我也来学OSGI(三)
新建一个叫 DBLoginBundle 的Equinox 项目文件结构如图所示,我们要在 META-INF/MANIFEST.MF 中的 依赖 选项卡中选择导入 org.vwpolo.services 这个包 package org.vwpolo.login.service;import java.util.Hashtable;import org.osgi.framewor
2008-02-04 13:29:00 1271
原创 我也来玩OSGI(二)
在 src 中新建 org.vwpolo.login.service 包,如果修改Activator这个控制插件生命周期的这个类,为了阅读方便,将他重命名了package org.vwpolo.login.service;import org.osgi.framework.BundleActivator;import org.osgi.framework.BundleContext;imp
2008-02-04 13:23:00 2647 1
原创 我也来玩OSGI(一)
OSGI 是由 1999 年成立的 OSGI 联盟提出的一个开放的服务规范,最初的目的是为嵌入式设备,确切地说是为可以通过网络访问的设备提供一个通用的软件运行平台,屏蔽不同设备之间的硬件和操作系统差异,使软件可以动态地部署和更新。后来 Eclipse 组织注意到了 OSGi 的优点,决定将 Eclipse3.0 及后续版本的插件体系结构基于 OSGi 来实现,并专门成立了一个子项目 Equinox
2008-02-04 13:15:00 1712
转载 JMS笔记-
Jms是Sun为了提供企业级的message server而制定的规范,象JDCBC,JNDI等等规范一样,jms得到了很多厂商的 支持和实现,象IBM的MQSeries,SonicMQ,Weblogic.. jms提供了二个基本模型,pub/sub( publish/subscribe ) 和 P2P ( point to point ). pub/sub model,简单
2007-09-24 11:04:00 1007
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人