#java #windows #ubuntu
По пути, к примеру "images/icon.PNG" лежит изображение, которое я кладу на кнопку JButton. В Windows эта папка лежит рядом с .jar-файлом и все прекрасно отображается. При запуске в Ubuntu изображения не накладываются на кнопки. Что-то неправильно в пути к файлам изображений? Update: И снова поднимаю тему, т.к. еще нет понимания. Слеши тут ни причем. Пошагово: есть папка с изображениями images/... этот же путь прописан в классе, в винде ложу папку images в папку с проектом (рядом с папками src и bin). В Eclipse запускаю проект - все хорошо отображается. Создаю исполняемый jar и кладу папку images рядом. Все нормально отображается. Теперь переношу проект как есть на Ubuntu. В Eclipse опять же все отображается. А вот когда создаю исполняемый jar и кладу папку images рядом, изображения из папки перестают отображаться. Т.е. что-то нарушается в относительном пути. Что я делаю не так?
Ответы
Ответ 1
Unix использует для в качестве разделителя слэш "/",а Windows бэкслэш "\". Чтобы путь не зависел от операционной системы, используйте File.separator File а = new File("images+File.separator+icon.PNG");Ответ 2
Пока единственное, что работает в Ubuntu: https://stackoverflow.com/questions/3929816/how-to-get-a-path-to-a-resource-file-out-of-a-java-jar-file#3929816. Хотя автор сам признается, что решение не очень элегантное.
Комментариев нет:
Отправить комментарий