Java rcp开机自启动,Java:在RCP中实现用托拽打开Editor

工作台窗口的Editor区域默认是显示的,而且它支持拖拽操作。在Eclipse里面,把一个文件拖到Editor区域,就会自动打开该文件的

Editor.该特性是在IWorkbenchWindowConfigurer 中设置。

在PassWord Gate中,当拖动Password Gate View中的一个Group 或者

Service到Editor区域,会在Editor显示该项的属性。

要实现此特性,有四部分是必须的。

1     实现必要的Transfer类型,而且定义Editor要支持哪些类型。在Password

Gate中,Transfer是LocalSelectionTransfer.Transfer用来进行数据的序列化,它可以支持在同一个程序,或不同

程序间拖拽。

2        因为在拖拽传递的过程中Editor Input 要实现序列化,所以要实现IPersistableElement接口。

3        加入一个释放适配器,当一个元素被扔到Editor区域,它可以知道如何进行操作,其实就是打开该元素的Editor.

4        使Password View能够进行拖操作,它要提供供拖的元素。

下面进行代码实现。

在RCP的WorkbenchWindowAdvisor. preWindowOpen中定义要求Editor

Area支持的拖入对象的类型,以及打开相应Editor的事件。

ApplicationWorkbenchWindowAdvisor.preWindowOpen()

01 public void preWindowOpen() {

02     ......

03     configurer.addEditorAreaTransfer(LocalSelectionTransfer.getInstance());

04     configurer.configureEditorAreaDropListener(new EditorAreaDropAdapter(

05         configurer.getWindow()));

06     }

Row 03定义了Editor Area支持的Transfer为LocalSelectionTransfer,

LocalSelectionTransfer为自己实现的传输介质类。Row 04定义了对拖入Editor

Area的对象的处理方法。EditorAreaDropAdapter实现了DropTargetListener接口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值