Я работаю над проектом RCP Eclipse и должен позволить пользователю выбрать файл. Для удобства на основе некоторых условий перед открытием следует установить начальную директорию диалога выбора файла.Установить исходный каталог в SWT FileDialog
Как я привязан к Eclipse RCP/SWT, я работаю с org.eclipse.swt.widgets.FileDialog
.
В документации этого FileDialog
указано использование метода setFilterPath(String string)
, который должен делать именно то, что мне нужно (см. 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.
По крайней мере, это именно то поведение, с которым я столкнулся. Путь хорош в первый раз, когда я открываю диалог, но во второй раз путь сначала устанавливается на последний выбранный путь. В большинстве случаев это кажется удобным, но это не мое.
Можете ли вы быть правы? Если да, есть ли у меня шанс изменить поведение в соответствии с моими потребностями?
Спасибо за любой ответ!
Я поднял ошибку для этого .. https://bugs.eclipse.org/bugs/show_bug.cgi?id=426849 –