Java в NetBeans, читать файл изображения из пакета Java
Интересно, кто-нибудь может помочь? Я занимаюсь разработкой Java-приложения, которое отображает изображения с диска на jframe. Используя NetBeans, я создал пакет Java под названием images в моем проекте и сохранил изображения в этом пакете. Во-первых, это то, как я должен это делать. Если я хочу, чтобы они поставлялись вместе с приложением?
У меня есть следующая функция для чтения изображения:
Image readImg(String file)
{
Image image = null;
try {
File imgFile = new File(file);
image = ImageIO.read(imgFile);
} catch (IOException e) {
// System.out.println("Can not Display Image");
e.printStackTrace();
}
if (image != null){
return image;
} else{
return null;
}
}
Моя проблема в том, что я не могу определить относительный путь к файлу, который нужно передать функции. У меня есть изображение для отображения, называя это так:
Image headerImg = readImg("C:\\Users\\D@nb0y\\Documents\\NetBeansProjects\\GiftAidApp\\src\\images\\galogo.png");
Очевидно, что это полностью развалится, если приложение будет запущено на любом другом устройстве. Кто-нибудь может подсказать мне, как сделать этот код переносимым?
Спасибо большое
1 ответ
Так как это JFrame
вы пытаетесь добавить изображение, может быть лучше использовать ImageIcon
вместо Image
,
Попробуй это:
ImageIcon image = new ImageIcon("images/galogo.png");
JLabel imageLabel = new JLabel(image);
frame.add(imageLabel);
Это должно сделать приложение переносимым, если вы включите images
папка вместе с вашим проектом.