![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OSGI-equinox
cai555
这个作者很懒,什么都没留下…
展开
-
实现RCP自身的控制台
一、解决基本问题:在做RCP项目的时候经常会遇到一个问题,就是要将一些控制信息输出到RCP自身的控制台,那么我们就可以扩展Eclipse扩展点org.eclipse.ui.console.consoleFactories,来实现我们自己的控制台,解决方法如下:首先,在plugin.xml 中定义扩展点:plugin.xm...原创 2009-09-16 15:08:44 · 133 阅读 · 0 评论 -
eclipse调试equinox bundle时只能启动6个bundle的问题
最近写了一个equinox的OSGi工程,里面有十几个bundle需要启动时自动运行Activator类,在eclipse的“run/run configuration”中设置了这些插件为他们定义了startLevel参数。同时,.product配置中“configuration”中“Specify plug-ins and their associated start levels.”auto-...2009-09-10 10:18:05 · 97 阅读 · 0 评论 -
解决JFace Dialog中ScrollComposite无法滚动
今天写了一个Jface的dialog,作为配置界面,其中有个配置项特别长,于是想到了ScrollComposite滚动面板来显示。我的做法是在把这个配置项放在一个Composite中,然后使用scrollComposite.setContent(Composite)来加入滚动面板。目的是出现一个滚动面板显示配置项。 但是,问题出现了,滚动条始终没有出现,于是加了一些配置:Composi...2009-09-08 22:32:21 · 181 阅读 · 0 评论 -
SWT实现弹出日历控件
实现像网页上的那种用户单击一个Text框然后框下面出现一个日历控件,点击Text框以外的地方日历消失,怎么实现? import org.eclipse.swt.SWT;import org.eclipse.swt.events.MouseAdapter;import org.eclipse.swt.events.MouseEvent;import org.eclipse.swt.g...原创 2009-09-08 12:54:03 · 467 阅读 · 0 评论 -
RCP中自定义“退出”按钮
你可以在View.java的createPartControl()方法中增加你自己的界面: public void createPartControl(Composite parent) {...final Button cancelButton = new Button(parent, SWT.NONE); cancelButton.setText("退出"); ...2009-08-06 16:53:05 · 297 阅读 · 0 评论 -
在RCP中实现系统托盘功能
在RCP中实现系统托盘功能在RCP中加入系统托盘功能,类似msn和QQ。功能就不说了。在RCP的WorkbenchWindowAdvisor的postWindowOpen()中创建系统托盘,另外要override preWindowShellClose()方法(按窗口右上角X关闭),否则按程序右上角的X,整个程序就会被关闭,重写后实现程序最小化的功能。主要是重载Applicatio...原创 2009-08-06 16:37:40 · 91 阅读 · 0 评论 -
《OSGI实战》遇到的问题
《OSGI实战》中的eclipse可能比较老,练习其中的用户登录例子的时候会遇到如下问题: 1. 找不到org.eclipse.equinox.servlet.api 2. 无法访问http://localhost/demo/page/login.htm 如果是eclipse 3.4这样解决: 对于第一个问题,用javax.servlet包替代;http:/...2009-07-01 10:43:04 · 129 阅读 · 0 评论 -
OSGi概念入门
OSGi概念入门 OSGi概念入门OSGi是什么,OSGi是一种服务运行平台。通过实现能够提供服务的符合OSGi规范的组件,用户可以将其组件发布到OSGi运行平台,供用户和其他组件使用。OSGi组件提供的服务具有两个层面的含义:系统层面,即一个组件为其他组件提供服务,这些服务体现为Java接口的实现;业务层面,即一个组件为外部系统...原创 2009-06-07 22:50:44 · 84 阅读 · 0 评论 -
getConfigurationElementsFor 无法获得扩展点的信息
做项目的时候RCP程序在eclipse调试环境下面运行正常,但是打包成RCP product后却运行不正常了。利用RCP远程调试,发现:IConfigurationElement[] configurationElements = Platform.getExtensionRegistry().getConfigurationElementsFor(ExtensionPointId)...2009-11-06 13:33:22 · 243 阅读 · 0 评论 -
equinox使用代码加载了新的组件后如何清除缓存
equinox使用代码加载了新的组件后,每次执行程序新的组件都会被加载,只要删除这个目录就可以还原了:workspace\.metadata\.plugins\org.eclipse.pde.core\trasform.product...2009-10-13 13:54:01 · 67 阅读 · 0 评论 -
从外部启动Equinox
前面,我们都是通过Eclipse启动我们的Bundle。但是,在有些时候,我们希望自己来控制OSGi的容器的启动,并且在OSGi的容器外部获取OSGi的服务,甚至是把OSGi的容器内嵌到我们的应用之中。下面我们就来看一下如何把Equinox嵌入到应用中。由应用来启动Equinox、获取OSGi的服务,以及加载OSGi容器中的其他插件的类。并且也会演示OSGi容器中的插件如何加...原创 2009-10-12 10:07:38 · 217 阅读 · 0 评论 -
ServiceTracker 的作用
如果您的服务消费者需要了解某一接口下的服务对象何时注册、何时取消注册,这时,您应使用ServiceTracker类: 下面,我们看看如何使用服务跟踪器来修改我们的示例代码,具体步骤如下。1) 修改HelloWorldBundle的MANIFEST.MF文件,让它导入org.osgi.util.tracker包;2) 新建类HelloServiceTracker....原创 2009-10-10 14:50:41 · 202 阅读 · 0 评论 -
方便管理plugin或rcp的icons
每个UI程序都离不开图片,一般的Eclipse插件,在一个类中定义了若干静态常量,每一个常量指定一个icon的名字,在程序中用到图片的时候,通过这个常量计算得到图片。Eclipse的插件一般规模较大,图片很多,而且分不同的像素,彩色,灰白等。这样有利于统一的管理和开发人员的沟通。 但并不是每个plugin或者rcp都要用到这么多图片,如果只有很少的图片的话,可以用图片...原创 2009-09-20 22:26:48 · 100 阅读 · 0 评论 -
RCP MessageConsole设置显示的最大行数
网上讲如何将MessageConsole加入RCP的文章有很多,但是没有将如何控制控制台显示条数的。而eclipse得Console插件默认是unlimited的,输出的内容多了就会把RCP应用跑死,其实很简单调用MessageConsole.setWaterMarks(5000, 8000);就可以了,因为函数名字有点怪所以找到它费了一番功夫。...2009-09-17 14:57:00 · 84 阅读 · 0 评论 -
Jface 进度条
someButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { IRunnableWithProgress runnable = new IRunnableWithProgress () { final byte[][]...2009-09-16 16:23:40 · 141 阅读 · 0 评论 -
将Eclipse的console插件加入到自己的RCP应用程序中
打开plugins.xml,在Dependencies项中,点击add,加入org.eclipse.ui.console依赖项。在extensions项中点击add,添加org.eclipse.ui.console.consolefactories,然后再该插件上点击右键,New-->consoleFactory ,在label想中填入控制台的名称,class中填入需要放...原创 2009-09-16 15:13:11 · 156 阅读 · 0 评论 -
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
引用在rcp的路径添加了mysql驱动,并添加之classpath,和runtime的中,并且添加了 eclipse-buddypolicy: registered 注册,为什么还 发生出错java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 把包拷贝到项目下面,然后在plugin.xml的runtim...原创 2010-05-28 16:00:05 · 166 阅读 · 0 评论