Значок Java-апплета не отображается - PullRequest
0 голосов
/ 16 апреля 2010

У меня есть Java-апплет, в котором я изменил значок изображения, который появляется в верхнем левом углу окна. Код, который я использую, это:

    Toolkit kit = Toolkit.getDefaultToolkit();
    Image frameIcon = kit.getImage("src/myapp/resources/logo.png");        
    getFrame().setIconImage(frameIcon);

Все работает нормально, пока я не разверну апплет в отдельную банку. В этом случае отображаемый значок является значком по умолчанию, как будто код не может найти изображение. Но изображение внутри, хотя и в папке: myapp / resources /

Что я здесь не так делаю? Это какая-то странная ошибка Java?

Ответы [ 2 ]

1 голос
/ 16 апреля 2010

Вы уверены, что экспортируете свой исходный код в файл jar? Поскольку ваше изображение находится в "src / myapp / resources / logo.png", вы должны включить папку "src / myapp / resources" в свой файл jar.

Но я бы порекомендовал вам поместить ваши изображения в другую папку, например, "resources", в корень папки вашего приложения (т.е. в корень вашего jar-файла), и тогда вы сможете экспортировать апплет без исходного кода.

0 голосов
/ 16 апреля 2010

Мне удалось найти обходной путь для этого. Я изменил:

Image frameIcon = kit.getImage("src/myapp/resources/logo.png");     

до

Image frameIcon = kit.getImage("logo.png");     

и затем разверните банку. После этого я копирую изображение в то же место, где файл .class находится внутри банки, и он нормально загружается Мне не нравится этот обходной путь, но он должен сделать сейчас. Папка src / resources существует и содержит изображение внутри, но не загружается. Я думаю, что это проблема спецификации пути, но я пока не нашел решения для этого ...

...