`
lylegend13
  • 浏览: 84020 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

SWT 拖拽打开文件

 
阅读更多

在ApplicationWorkbenchWindowAdvisor.java中的postWindowOpen()函数内加入以下代码

		DropTarget target = new DropTarget(getWindowConfigurer().getWindow()
				.getShell(), DND.DROP_DEFAULT | DND.DROP_MOVE | DND.DROP_COPY
				| DND.DROP_LINK);
		target.setTransfer(new Transfer[] { FileTransfer.getInstance() });
		target.addDropListener(new DropTargetAdapter() {

			public void drop(DropTargetEvent e) {
				try {
					IWorkbenchPage page = PlatformUI.getWorkbench().
			        getActiveWorkbenchWindow().getActivePage();
					String[] paths=(String[]) e.data;
					if(paths.length!=1){
						//only one
					}else{
						for (String path : paths) {
							page.openEditor(new FileEditorInput(path), "editor_ID");
						}
					}
				} catch (Exception e1) {
					e1.printStackTrace();
				}
			}
		});

 新建FileEditorInput.java

public class FileEditorInput implements IEditorInput{

	File file;
	
	public FileEditorInput(String path) {
		super();
		file=new File(path);
	}

	@Override
	public boolean exists() {
		// TODO Auto-generated method stub
		return file.exists();
	}

	@Override
	public ImageDescriptor getImageDescriptor() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public String getName() {
		// TODO Auto-generated method stub
		return exists()?file.getName():"error";
	}

	@Override
	public IPersistableElement getPersistable() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public String getToolTipText() {
		// TODO Auto-generated method stub
		return exists()?file.getName():"error";
	}

	@Override
	public Object getAdapter(Class adapter) {
		// TODO Auto-generated method stub
		return null;
	}
}
 
分享到:
评论

相关推荐

    SWT视频播放器

    5. **文件选择对话框**:为了打开视频文件,播放器通常会提供一个文件选择对话框。在SWT中,可以使用FileDialog类来实现这一功能。 6. **多线程处理**:为了保证界面的响应性,视频播放通常在后台线程进行,防止...

    用SWT/JFace实现的资源管理器jExplorerV0.5(附源码)

    有大量文件(几百个以上)的目录会打开的很慢 5. 文件删除失败时没有提示###### <br>新添加/重写的功能: 1. 已实现简单的剪切/复制/粘贴功能(尚不能和外界程序交互) 2. 添加创建新文件夹功能 3. ...

    SWT API JAVA

    5. **对话框和消息框**:SWT支持多种对话框,包括消息框(MessageBox)、打开/保存文件对话框(FileDialog)、颜色选择对话框(ColorDialog)等,这些都是日常应用中常用的交互元素。 6. **图像处理**:SWT提供了...

    SWT桌面程序开发实例图解教程

    - **添加菜单**:在Palette面板中找到“Menubar”控件,将其拖拽到Shell中,然后继续添加子菜单(SubMenu)以及菜单项(MenuItem)。可以通过属性面板调整菜单的文本、图标等属性。 - **菜单热键设置**:例如,要在...

    Java程序设计之swt教程

    具体步骤为:右键点击项目名称>“构建路径”>“配置构建路径”>“库”>“添加外部JAR”,在Eclipse的`plugins`文件夹中找到相应的`.jar`文件并打开,最后确认。 #### 2. SWT常用组件的使用 SWT提供了一系列常用的...

    jExplorer——SWT做的一个文件浏览器

    4. 有大量文件(几百个以上)的目录会打开的很慢 5. 文件删除失败时没有提示###### 新添加/重写的功能: 1. 已实现简单的剪切/复制/粘贴功能(尚不能和外界程序交互) 2. 添加创建新文件夹功能 3. 添加选择全部/...

    [原创]用SWT/JFace实现的深路径自动生成软件(附源码)

    实现文件拖拽功能: ·可以直接将文件、文件夹拖拽入指定窗口 2008-03-30 1. 实现命令行形式的MakeSourceFilesToolkit功能 2. 重构MakeSourceFilesToolkitShell: ·方法重构,使其更为通用...

    SWT 编 程 总 结

    为了在Eclipse IDE之外运行SWT程序,你需要确保已经安装了正确的JRE,并且将SWT库文件添加到类路径中。 #### 13. 小结 SWT为Java开发者提供了一种强大的工具集,用于创建高性能的图形用户界面。通过掌握SWT的基础...

    Eclipse_Swt_Jface_核心应用_部分19

    13.1.4 打印程序示例:打开文件程序 268 13.1.5 打印程序示例:设置字体和颜色程序 268 13.1.6 打印程序示例:打印文本的程序 269 13.1.7 打印程序示例:打印文件后的效果预览 273 13.2 使用应用程序 274 ...

    文件浏览器源码

    4. **操作按钮**:如打开、复制、剪切、粘贴、删除等,用于对文件和文件夹进行常见操作。 5. **事件处理**:监听用户的点击、拖拽等操作,执行相应的文件系统操作,并更新界面状态。 6. **插件机制**:利用RCP的插件...

    用swt/jface实现的资源浏览器jExplorer

    有问题欢迎来信讨论: talent_marquis@163.com<br><br>才搜索了一下,发现jExplorer这个名字已经泛滥了 <br>最核心代码来自IBM... 有大量文件(几百个以上)的目录会打开的很慢 5. 文件删除失败时没有提示

    Jigloo使用教程

    - 在 Eclipse 的“文件”菜单中选择“新建”->“其他”->“Jigloo”->“Swing/SWT 设计文件”。 - 在出现的向导中选择所需的 GUI 框架(Swing 或 SWT)。 - 使用 WYSIWYG 编辑器拖拽和放置不同的 UI 组件,并调整...

    kettle源码环境搭建及插件源码调试教程

    - 在Kettle中拖拽插件并打开,观察开发工具的控制台,查看调试语句是否输出。 - 或者直接修改界面元素,如更改按钮文本,保存代码,重新打开插件,验证修改是否生效。 通过以上步骤,你就成功地在Eclipse中搭建了...

    eclipse 的ve安装步骤与使用方法

    - 打开 Eclipse,通过“文件” -> “新建” -> “项目”来创建一个新的 Java 项目。例如,命名为“Hello”。 - 其他设置保持默认,点击“完成”创建项目。 ##### 2. 设置 SWT 库 - 右键点击项目“Hello”,选择...

    java小程序之简单学生信息录入界面

    Windows Builder是Eclipse IDE中的一个插件,它允许开发者通过图形化的方式构建Swing或 SWT用户界面,极大地简化了UI设计过程。 首先,我们需要了解Java Swing库。Swing是Java Foundation Classes (JFC)的一部分,...

    java源码包---java 源码 大量 实例

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    安装eclipse插件

    7. **验证安装**:重启后,打开一个新的Java项目,右键点击类文件,选择“New” > “Other” > “Windows Builder” > “JFrame”或“JSwing Component”,如果能看到这些选项,说明Windows Builder已经成功安装。...

    windowbuilder eclipse设置

    txtEnterWhateverYou.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); ``` ##### 3. 修改组件属性 - **方式**:可以通过右键菜单或直接拖拽的方式修改组件属性,如文本、位置、大小等。 ...

Global site tag (gtag.js) - Google Analytics