Ответ 1
Затем пользователь предоставляет относительный путь к new Image(String url)
, он будет относиться к workdir приложения aka System.getProperty("user.dir")
- Для автономного приложения это папка, в которой вы запускали приложение из
- Для запуска веб-запуска из командной строки (
javaws myfxapp.jnlp
) он работает так же, как и с автономным приложением - Для запуска плагина или приложения webstart, загруженного из браузера, вы не можете надежно убедиться в расположении рабочего места. Это зависит от браузера и даже от установленных плагинов для этого браузера.
Итак, общее направление: для автономных приложений используйте url
так же, как вы будете использовать его в new File(String url)
. Для jnlp/plugin используйте полный url с протоколом или Class.getResource()
.
Обновление:. Обратите внимание, что это поведение будет уточнено и изменено в 2.2. См. http://javafx-jira.kenai.com/browse/RT-18291
Следующий комментарий относится к RT-18291 и описывает предполагаемые изменения для версии 2.2:
Martin Sladecek добавил комментарий - 15 мая 2012 10:53 После обсуждения с Ричардом Баиром мы решили изменить текущее (недокументированное) поведение для путей. В настоящее время они рассматриваются как user.dir relative. Весь путь, с или без ведущей косой черты, теперь будет разрешен как относительный к classpath, который будет соответствовать CSS, и больше соответствует ожиданиям пользователей. Для относительных путей user.dir URL-адрес "file:" может использоваться по-прежнему.