在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