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接口
相关文档:
1、控制"纵打"、 横打”和“页面的边距。
(1)<script defer>
function SetPrintSettings() {
// -- advanced &n ......
JAVA开发者最常去的20个英文网站
1.[http://www.javaalmanac.com] – Java开发者年鉴一书的在线版本. 要想快速查到某种Java技巧的用法及示例代码, 这是一个不错的去处.
2.[http://www.onjava.com] – O’Reilly的Java网站. 每周都有新文章.
3.[http://java.sun.com] – 官方的Java开发者网站 &nda ......
术语名称:Factory
术语解释:工厂模式,用来提供创建对象的接口.
工厂模式功能的详细解释:
工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。
为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象 ......
Spring Framework 【Java开源 J2EE框架】
Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的 Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用 ......
本文提供java多线程分别定时读写同一个文件的样例,其中两个线程,一个每分钟写入当前时间到指定文件,另一个线程读出每分钟新写的内容。
使用简单的Thread.sleep技术实现定时
package test.thread;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
im ......