Я делаю программу для Mac, которая имеет собственное расширение файла .edul
. У меня все работает так, что когда программа уже открылась и вы открываете файл, она загружается, но когда я пытаюсь это сделать, когда программа еще не запущена, я не получаю событие и оно не в аргументах.
Я пытался перейти на com.apple.eawt.Application
, но, к сожалению, java.desktop
не экспортирует этот класс, поэтому это не сработало.
Desktop desktop = Desktop.getDesktop();
desktop.setOpenFileHandler(e -> {
try {
FileWriter fileWriter = new FileWriter(System.getProperty("user.home") + "/Desktop/test.txt");
fileWriter.write(e.getFiles().toString());
fileWriter.close();
} catch (IOException ignored) {
}
});
Итак, я ожидаю, что на моем рабочем столе будет файл, в котором находится файл, который я открыл до запуска программы, и когда она запускается, и я открываю другой файл, он также отображается на моем рабочем столе.
Итак, после первого открытия файла:
[file/path/test.edul]
И на секундах открыть файл:
[file/path/test2.edul]
В настоящее время я получаю только:
[file/path/test2.edul]