我正在研究
Eclipse RCP项目,需要让用户选择一些文件.
为方便起见,根据某些条件,应在打开文件之前设置文件选择对话框的初始目录.
为方便起见,根据某些条件,应在打开文件之前设置文件选择对话框的初始目录.
因为我绑定了Eclipse RCP / SWT,所以我正在使用org.eclipse.swt.widgets.FileDialog.
这个FileDialog的文档指出使用setFilterPath(String string)-method,它应该完全符合我的需要(见documentation).
FileDialog dialog = new FileDialog(shell,SWT.OPEN); dialog.setFilterExtensions(new String [] {"*.html"}); dialog.setFilterPath("c:\\temp"); String result = dialog.open();
不幸的是它不起作用,至少不是“每次”.
我目前没有安装来检查它,但我很确定该功能在Windows 200 / XP / Vista机器上完全正常.
我正在使用Windows 7机器,我认为我正在遭受此处描述的lpstrInitialDir行为.
至少,这正是我所面临的行为:第一次打开对话框时路径很好,但第二次,路径最初设置为最后选择的路径.
在大多数情况下,这似乎很方便,但它不在我的手中.
这可能是对的吗?
如果是这样,我是否有机会根据我的需要改变行为?
谢谢你的帮助!
解决方法
重新打开它时是否使用相同的FileDialog对象?
我运行了一些快速测试,发现如果重新设置filterPath,对话框将在正确的位置打开.
如果我再次打开同一个对象,它将从之前选择的位置开始.