Eclipse: как заставить пользователя выбрать приложение для открытия файла?

Я хочу открыть произвольные файлы из Eclipse. В настоящее время я делаю так:

if (((File) selectedElement).isFile()) {
    try {
            Desktop.getDesktop().open((File) selectedElement);
    } catch (IOException e) {
        //TODO prompt for the appropriate application to open this file.
        e.printStackTrace();
    }
}

К сожалению, это работает только в том случае, если ОС имеет приложение по умолчанию, связанное с типом файла. Поэтому, если не определено какое-либо приложение по умолчанию, я хочу спросить у пользователя, какое приложение я должен использовать. Но я понятия не имею, как 1) найти список доступных приложений и 2) открыть файл с этим приложением. Любые подсказки о том, как реализовать это независимым от платформы способом?

Ответ 1

Любое решение, о котором я могу думать, будет зависеть от ОС. Например, если ваше приложение работает в Windows, вы можете предоставить пользователю список всех *.exe файлов в папке Program Files. Или все приложения в /bin,/sbin,/usr/bin,/usr/share/bin для операционной системы Linux.

Ответ 2

Там уже есть другой поток, отмеченный как разрешенный для этого, проверьте это: Открыть диалог WIth в Java