- 博客(30)
- 收藏
- 关注
原创 错误The activator * Activator for bundle * is invalid
RCp开发中遇到该错误解决办法:ok, after talking to paul webster on IRC, I found the solution, which was that on the build tab, at the top, you have two sections under “runtime configuration”, on the left, you hav...
2009-11-26 19:25:58
370
原创 视图开发-数据保存
在模型中添加保存和加载元素的代码,将数组adress中元素保存到Adress.xml文件[code="java"]public class AddressManager implements IPropertyChangeListener{ private static final String TAG_ADDRESSES = "Addresses"; private static...
2009-10-21 18:41:48
216
原创 视图开发-UI状态存储
eclipse使用工作台提供的Memento来支持UI状态保存1 排序保存在AddressViewerSorter添加以下代码[code="java"]public class AddressViewerSorter extends ViewerSorter {//xml元素名 private static final String TAG_DESENDING = "des...
2009-10-21 17:12:41
206
原创 视图开发-快捷键、状态栏、监听其它workbench
1快捷键,以Delete为例[code="java"]viewer.getControl().addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent event) { if (event.character == SWT.DEL && event.stateMask == 0) ...
2009-10-21 16:51:48
154
原创 视图开发-属性视图
1 将viewer作为内容提供者(需要实现ISelectionProvider,JFace所有的查看器类都实现了该接口),在Aressview中添加以下代码[code="java"]getViewSite().setSelectionProvider(viewer);[/code]若Action是通过扩展点生产,为了使Action的enablefor属性起作用,必须也要设置以上...
2009-10-21 16:40:49
139
原创 视图开发-添加action,过滤操作
1 创建操作,以下创建3个操作[code="java"]private void makeActions() { // 增加的操作 ImageDescriptor deleteImage = ImageKeys .getImageDescriptor(ImageKeys.IMG_TOOL_DELETE); deleteAction = new DeleteAdr...
2009-10-21 16:13:19
164
视图开发-排序
1 视图排序,点击表头实现排序自定义的排序器如下[code="java"]public class AddressViewerSorter extends ViewerSorter {private class SortInfo { int columnIndex; Comparator comparator; boolean descending; }...
2009-10-21 15:42:14
128
视图开发-模型
视图可以包含任何多控件,但通常为了界面简洁只包含一个Jface表或树查看器。下面通过一个实例演示如何开发视图。1定义输入模型,包括元素、模型、内容提供器、标签提供器(也是一个完整的模型-View事件演示)[code="java"]public class AddressItem { private String name; private String address;...
2009-10-21 15:22:25
392
eclipse工作台结构图
[img]http://dl.iteye.com/upload/attachment/159058/6db50099-d30c-3d69-9b5c-bedeb5cd9937.jpg[/img]
2009-10-21 09:22:45
440
插件开发概述
eclipse启动时,会扫描plugins目录,检查所有插件,读取所有插件的清单文件,并用插件注册表管理着所有插件,维护着所有插件的所用,在插件第一次被使用时,插件才被加载,因而实现lazzy加载。插件加载首先会调用Activator.start()方法,插件生命期结束时会调用Activator.stop()方法。 插件可以扩展其它插件,称为Extension,插件也可以被其它插件扩展,必...
2009-10-21 09:14:21
100
SWT Jaface事件
常用事件MouseEvent:包含信息Display(事件所在的siaplay),widget(发出事件的组件对象),time(事件发生的时间),x,y,(坐标)stateMask(掩码,可以用SWT辅助键的常量与其做按位与操作检查某个键是否被按下,如SWT.Shift,SWT.Crtl),button(按键,1为左键,2为右键,3为中键,0表示没有按键)键盘事件character:按...
2009-10-20 13:50:14
100
滚动条、进度条,浏览器
ScrolledComposite sc=newScrollComposite(shell,SWT.Horizonal|SWT.vertical);sc.setControl(label);ScrolledComposite不是一个单独的控件,需要与其它控件结合,若想作为一个独立的控件使用Slider。可以对Slider的selection事件进行监听。ProgressBarP...
2009-10-20 13:31:13
133
JFace Viewer
组成:1)模型和元素,模型为元素的集合;2)内容提供者与标签提供者;3)控件 ;4)查看器(负责协调前面三个部分)。模型维护的是元素集合,需要自己开发,当模型内容改变时应向外界发出一个"属性改变"的事件。通过内容提供器对模型解析,所有内容提供者都实现IContentProvider接口,对于具体的子类,又有子接口,如列表和表格查看器实现 IStructuredCon...
2009-10-16 17:25:29
194
Java事件机制
事件源负责产生事件事件类:定义事件的特征;监听器接口:定义监听器应该实现的功能;监听器:实现监听器接口,监听事件的发生并作出响应;所有的事件类必须继承Java事件基类,即java.util.EventObject;EventObject(Objectsource)是EventObject唯一的构造方法,这意味着所有事件必须在实例化时就指定事件源;EventObject类提供了g...
2009-10-13 11:53:34
138
Layout
composite.setLayout(layout);shell.layout();//通知容器开始布局1 AbsoluteLayout(默认),必须用setBounds()指定位2FillLayout,所有子控件从左到右(SWT.Horizontal,默认)或上到下(SWT.Vertical)平均排列各个控件;可以通过filllayout设置spacing(间距),marg...
2009-10-13 08:50:12
162
容器composite、shell
Composite:最基本的容器类,可以嵌套Composite。可以将基本控件用Composite组合起来形成自定义的复合控件,方便重复使用。(扩展Composite,生产子类 )。composite.setBackground():设置容器背景色composite.setbackgroundImage():设置背景图片setBackgroundMode()设置背景模式,SWT.I...
2009-10-13 08:23:07
328
基本SWT控件使用2
ColorDialog: ColorDialog dlg=new ColorDialog(shell);RGB rgb=dlg.open();FontDialog: FontDialog dlg=new FontDialog(shell);FontData data=dlg.open();Font font=new Font(display,data);RGB fontcolo...
2009-10-12 14:50:00
126
基本SWT控件使用1
Button常用的方法:setImage();setText();setBounds();addSelectionListener();SWT.RADIO(单选框),SWT.CHECK(复选框),SWT.NONE(普通按钮),SWT.PUSH(自动弹回),SWT.TOGGLE(不能自动弹回)。Label:若指定为SWT.seperator则显示为一个分隔线,组合SWT.Horizona...
2009-10-12 13:45:55
178
SWT控件
继承关系,Widget为所有窗口组件的父类,Control为所有控件的父类,Composite为容器控件widget-Item/ControlControl-Scrollble/Button/LabelScrollble-Composite/TextComposite-Tree/Table/CanvasCanvas-Decorations-ShellShell不允许被继承...
2009-10-12 08:44:42
111
Display与Shell
一个SWT程序至少需要一个Display对象,创建Display的线程称为UI线程,一个线程中不能有两个Display。第一次调用Display.getDefault()会创建一个Display,以后再次调用会返回创建的Display。或者显式定义一个Display:Display dis=newDisplay(),以后调用getdefault()也会返回创建的Display。 多...
2009-10-12 07:59:29
344
插件国际化
分两类:1)插件清单国际化,也就是扩展点的label进行国际化,往往针对的是菜单界面。2)类文件国际化,针对的是运行中出现的界面、提示等国际化。对于1,采用plugin.properties文件,对于2采用的是message.properties文件实现。具体步骤:对于第一类:1将plugin.xml中需要国际化的字段设置为"%name"2在plugin.propertie...
2009-10-05 13:46:03
120
Message Bundles(国际化)
Eclipse NLS class based (New method,recommended)OverviewIn this method, each plug-in maintains one Messages class,which extends the NLS class provided by Eclipse.This class loads each o...
2009-09-25 08:04:02
90
view、editor上下文菜单
org.eclipse.ui.popupMenus允许添加到其它视图和编辑器的弹出菜单,可以创建viewerContribution和objectContribution。viewerContribution:导致菜单出现在视图或编辑器的弹出菜单中,与选择无关。objectContribution导致菜单出现在选定了指定类型的对象的视图或编辑器中,与选择有关。viewerContr...
2009-09-23 04:16:37
183
利用扩展点为view和editor添加菜单或工具
org.eclipse.ui.viewActions建立viewContribution元素,用于为视图添加菜单或工具,其targetID为需要服务的view的id。ViewContribution下可以新建元素action或menu,用于为视图添加工具栏,或下拉工具栏。(或下拉菜单的二级菜单,通过设置menuPath实现)。<extension poi...
2009-09-23 04:11:29
133
editor
editor的属性:extensions:文件扩展名,逗号分隔;class实现org.eclipse.ui.IeditorPart的类名;launcher:实现org.eclipse.ui.IeditorLauncher的类名,打开外部编辑器;command启动外部编辑器的命令,可执行命令必须位于系统路径或者是插件目录,class、command、launcher互斥。contribution...
2009-09-21 12:02:25
123
org.eclipse.ui.PartInitException: 无法打开编辑器,
org.eclipse.ui.PartInitException: 无法打开编辑器,编辑器标识未知错误解决:Eclipse3.2M6以后,Editor在plugin.xml里注册时,必须带icon参数,否则会出现以上错误。
2009-09-21 02:02:30
815
org.eclipse.ui.actionSets扩展点
用于添加菜单、菜单项、工具栏按钮。包含menu和action元素。menu元素的label若为中文,添加快捷方式为"文件(&F)"括号内位快捷键;path为菜单添加的位置(从根目录开始插入菜单的位置,若省略,则默认将菜单加入additions命名组;action元素相当于菜单项,label为菜单项名"(新建(&N)";menuPath指定菜单栏中该操作的位置,以'/'定...
2009-09-20 13:43:06
160
插件安装方法
1直接复制将plugins文件夹下的jar文件复制到eclipse下的plugins目录即可,此方法安装简单,卸载困难。2links法将插件解压缩到一个文件夹,例如c:\eclipse\myplugin\eclipse目录在c:\eclipse下建立link文件夹在link文件夹下创建myplugin.link文本文件,输入path=myplugin重启eclipse此...
2009-09-20 06:54:00
81
How should I use a Progress Monitor
在package org.eclipse.core.runtime;Always start the progress monitor and do at least 1 bit ofwork. For example:monitor.beginTask("Working", 4);monitor.work(1);Always finish star...
2009-09-20 06:09:47
63
如何拷贝一个现有插件
File > ImportSelect Plugin Development and Plugins andFragments wizard, and press NextOn the right you can see EVERYTHING in the uDig SDKSelect a plugin that is similar to what you want t...
2009-09-20 05:51:23
168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人