Я пытаюсь получить изображение, созданное из мозаичного набора изображений Так к JPanel, я добавляю JButtons с ImageIcons. Все изображения находятся в папке с моими классами (NetBeans), и их называют u1, u2..., u16. Но на кнопке нет никакого показанного изображения. Что я делаю неправильно?
JPanel panel = new JPanel(new GridLayout(4, 4, 3, 3));
for (int i = 1; i < 17; i++) {
JLabel l = new JLabel(new ImageIcon("u"+i+".jpg"), JLabel.CENTER);
l.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
panel.add(l);
}
NetBeans, вероятно, не находит ваши файлы изображений. Чтобы проверить это, используйте полное имя файлов (из C: /path/to/image.jpg
, если вы работаете в Windows, и из /path/to/image.jpg
, если у вас что-то вроде unix).
Я рекомендую использовать
new ImageIcon(this.getClass().getResource(fileName));
, где имя_файла
, если что-то, доступное в "classes / org / myorg / resources / image.jpg", должно выглядеть как org / myorg / resources / image.jpg
. Это имеет то преимущество, что он будет работать независимо от того, как вы обращаетесь к своим классам (через HTTP, в jar-файле, ...).