как загрузить изображения в java-файл? - PullRequest
3 голосов
/ 01 ноября 2011

Когда я конвертирую свой проект в исполняемый jar той же системы, изображение загружается в вывод.Но когда я попробовал в другой системе, изображение не удалось загрузить?как дать URL изображения вместо использования c:? пожалуйста, помогите в этом?

JToolBar toolbar = new JToolBar("Toolbar", JToolBar.HORIZONTAL);

JButton capturebut = new JButton(new ImageIcon("C:\\sampleprojects\\
       compare\\shankar\\src\\capture.gif"));

capturebut.setToolTipText("Capture");

toolbar.add(capturebut);

Ответы [ 2 ]

8 голосов
/ 01 ноября 2011

Вам нужно поместить файл изображения в файл JAR, а затем использовать метод getResource() из java.lang.Class, чтобы получить URL, который ссылается на файл, который находится в файле JAR;прямо сейчас ваш код загружает файл изображения непосредственно из вашей файловой системы, а не из файла JAR.

Строка, которую вы передаете getResource(), зависит от того, где вы поместили его в файл JAR.Если класс, делающий это, является классом Foo в пакете com.acme.bar, вы можете поместить capture.gif в тот же подкаталог com\acme\bar\ файла JAR (в том же каталоге, что и класс Foo), и сделать

JButton capturebut = new JButton(new ImageIcon(Foo.class.getResource("capture.gif")));

Это связано с тем, что вызов getResource() для класса с относительным именем (не начинающийся с /) будет искать ресурс в том же каталоге, где находится файл класса для этого класса.

С другой стороны, вы можете создать подкаталог resources\images в корне файла JAR и вместо "capture.gif" использовать "/resources/images/capture.gif".Если имя начинается с '/', поиск начинается с корня файла JAR, а не относительно того, где находится файл класса.

4 голосов
/ 01 ноября 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...