2015-06-06 4 views
0

На сегодняшний день я использовал Swing для создания графических пользовательских интерфейсов, но теперь я также хочу ознакомиться со стандартным набором виджета. Я уже прочитал документацию и построил простое приложение. Моя проблема теперь в использовании компонента FileDialog.PathMustExists и FileMustExists в SWT FileDialog

Я сделал следующий код:

FileDialog openFileDialog = new FileDialog(shell, SWT.OPEN); 
openFileDialog.setFilterExtensions(new String[] { "*.txt" }); 
openFileDialog.setFilterNames(new String[] { "Text files (*.txt)" }); 
openFileDialog.setText("Open file"); 
openFileDialog.open(); 

Но я нашел никаких методов не устанавливать флаги, как «PathMustExists» или «FileMustExists». Разве это невозможно с помощью FileDialog? Должен ли я расширять класс для реализации этой функциональности? Если да, то как я должен действовать? Или это лучший компонент OpenFileDialog (возможно, в JFace), из которого я не знаю?

ответ

2

У этого варианта нет никаких вариантов.

Поскольку вы указываете SWT.OPEN, вы получите диалоговое окно файла, специализирующееся на открытии существующих файлов. В зависимости от того, на какой платформе вы работаете в этом диалоговом окне, возможно, вообще не удастся выбрать несуществующие файлы (безусловно, это относится к Mac OS X). Тем не менее вы должны проверить файл после возвращения диалога.