Путь к изображению Java на NetBeans - PullRequest
1 голос
/ 05 октября 2011

Я путешествую на Яве, поэтому строю тральщик.Механика готова, теперь я хочу сделать ее удобной для пользователя.

Пытался добавить ImageIcon к кнопке на каждом шагу, но я не могу этого сделать!Я не знаю, как Java работает на этом!

Я делаю это:

(предположим, это расширяет JButton)

super(new ImageIcon("/minesweeper/resources/bomb.png"));

У меня есть такие пакеты:

  • minesweeper
  • minesweeper.components
  • minesweeper.resources (пытается упорядочить изображения здесь)
  • test (некоторые вещи только для тестирования)

Я делаю это неправильно?(конечно, но как это правильно?)

Ответы [ 2 ]

3 голосов
/ 05 октября 2011

Вы можете получить изображения следующим образом:

new ImageIcon(getClass().getResource("/minesweeper/resources/bomb.png"))

Проверьте Java Doc на общедоступный URL getResource (String name)

1 голос
/ 05 октября 2011

Чтобы избежать любых проблем, которые могут возникнуть, особенно при использовании различных методов упаковки, создайте новый пакет с именем res или что-то в этом роде, а затем вставьте в него Res.java.Поместите ваши изображения в тот же каталог пакета.Теперь, когда вы захотите что-то прочитать, вы получите InputStream с использованием Res.getClass().getResourceAsStream("filename");, а затем создадите новый ImageIcon с потоком (new ImageIcon(is)).Это дает вам ImageIcon, который вы можете использовать с меткой.

Если вы хотите использовать супер-конструктор для настройки изображения, вы можете сделать это за один раз:

super(new ImageIcon(Res.getClass().getResourceAsStream("filename")));

В противном случае просто используйте setIcon(..);.

Редактировать: вы будете использовать существующий пакет resources.Просто вставьте туда Res.java.

...