getClass (). getResource () с веб-запуском Java - PullRequest
3 голосов
/ 23 марта 2011

Когда я использую getClass (). GetResource (ACCEPT_PNG) для загрузки ImageIcon, он хорошо работает на моих локальных вычислениях. Когда мой класс внедряется с его ресурсом в JAR, для приложения Java Web Start ресурс не может быть найден, и тот же код возвращает ноль ...

Есть идеи?

   /** Path to a PNG ressource. */
   private static final String ACCEPT_PNG = "accept.png";

   private static ImageIcon acceptPngIcon = null;

   private ImageIcon getAcceptPngIcon() {
      if (acceptPngIcon == null) {
         acceptPngIcon = new ImageIcon(getClass().getResource(ACCEPT_PNG));
      }
      return acceptPngIcon;
   }

1 Ответ

1 голос
/ 12 ноября 2015

У меня возникла та же проблема, и я решил ее, следуя подходу Oracle Java Start Start, описанному в учебное пособие : используйте загрузчик классов для получения ресурса вместо самого класса:

getClass().getClassLoader().getResource(ACCEPT_PNG); 
    // works both locally and via Web Start
getClass().getResource(ACCEPT_PNG); 
    // only works locally; returns null for any path via Web Start
...