东东东 陈煜东的博客

标签存档: swt

swt/jface中FileDialog的使用

在SWT/JFace中,使用文件对话框选择文件。貌似awt和swing应该都提供文件选择对话框,不过之前都没用过。有了自带的文件对话框,就不用可以把更多的时间发在其他功能的实现上了。

下面说说具体的org.eclipse.swt.widgets.FileDialog的使用

选择单个文件

FileDialog dialog = new FileDialog(window.getShell(), SWT.OPEN);
dialog.setFilterPath("");// 设置默认的路径
dialog.setText("对话框标题");//设置对话框的标题
dialog.setFileName("");//设置默认的文件名
dialog.setFilterNames(new String[] { "文本文件 (*.txt)", "所有文件(*.*)" });//设置扩展名
dialog.setFilterExtensions(new String[] { "*.txt", "*.*" });//设置文件扩展名
String fileName = dialog.open();//

选择多个文件

FileDialog dialog = new FileDialog(shell,SWT.OPEN|SWT.MULTI);
String fileName = dialog.open();//返回最后一个选择文件的全路径
String[] fileNames = dialog.getFileNames();//返回所有选择的文件名,不包括路径
String path = dialog.getFilterPath();//返回选择的路径,这个和fileNames配合可以得到所有的文件的全路径

保存文件对话框

FileDialog dialog = new FileDialog(shell,SWT.SAVE);
 String fileName = dialog.open();  //获得保存的文件名

此方法只能获得用户的路径+文件名,需要自己写方法去保存文件,如果用Java7,那么就用NIO,方便快捷。比如Files.write()方法。

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: swt/jface中FileDialog的使用 – https://www.chenyudong.com/archives/swt-jface-using-filedialog.html

分类: Java

ISafeRunnable 类定义未找到

在开发swt应用中,使用了TableViewer类,导入了org.eclipse.jface_3.7.0.v20110928-1505.jar类库了,eclipse也不报错了,但是运行是就是报以下错误。

Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/runtime/ISafeRunnable
at gui.Table.(ZZZTable.java:23)
at gui.Table.main(ZZZTable.java:91)
Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.ISafeRunnable

根据给出的提示说org/eclipse/core/runtime/ISafeRunnable未找到,于是就引入了org.eclipse.core.runtime_3.7.0.v20110110.jar包,运行时还是报这个错误。

后来得知,这个错误是由于给类的定义是在org.eclipse.equinox.common_3.6.0.jar,这样运行是不报错了。在http://www.eclipsezone.com/eclipse/forums/m92035942.html说到

The ISafeRunnable interface is located in the equinox plugin (org.eclipse.equinox.common). If you add the SWT library to your project, it should be added to the build path automatically. You can do this by right-clicking your project, choosing Build Path/Add Libraries… and then selecting the SWT Library. Afterwards, your project should contain a new folder, having the same icon as the JRE folder, and containing a couple of jars, including org.eclipse.swt… and org.eclipse.equinox.common.

查看了下ISaftRunnable该类的定义说明

Safe runnables represent blocks of code and associated exception handlers. They are typically used when a plug-in needs to call some untrusted code (e.g., code contributed by another plug-in via an extension). This interface can be used without OSGi running. Clients may implement this interface.

不过我在导入这个类库是在eclipse rpc版中导入的,不知道其他的eclipse有没有这个类库。

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: ISafeRunnable 类定义未找到 – https://www.chenyudong.com/archives/isaferunnable-class-definition-not-found.html

分类: Java

Copyright © 2017 东东东 陈煜东的博客 粤ICP备13059639号-1

SITEMAP回到顶部 ↑