2015-05-23 3 views
0

Интересно, может ли кто-нибудь помочь? Я разрабатываю приложение java, которое отображает изображения с диска на jframe. Использование netbeans Я создал пакет java, называемый изображениями в моем проекте, и сохранил изображения в этом пакете. Прежде всего, так, как я должен это делать, если я хочу, чтобы они отправили приложение.Java в netbeans, прочитанный файл изображения из пакета Java

У меня есть следующие функции, чтобы прочитать изображение:

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\\[email protected]\\Documents\\NetBeansProjects\\GiftAidApp\\src\\images\\galogo.png"); 

Очевидно, что это будет полностью развалиться, если приложение запускается на любом другом устройстве. Может ли кто-нибудь дать мне голову, чтобы сделать этот код переносимым?

большое спасибо

+0

Использование метода getResources –

+0

Извините, что я не понимаю метод getResources, класс которого я отмечаю, что imageIO, похоже, не имеет метода под этим именем? – danparker

ответ

0

Поскольку это JFrame вы пытаетесь добавить изображение, возможно, было бы лучше использовать ImageIcon вместо с Image.

Попробуйте это:

ImageIcon image = new ImageIcon("images/galogo.png"); 
JLabel imageLabel = new JLabel(image); 
frame.add(imageLabel); 

Это должно сделать приложение переносимым, а если включить вас images папку вместе с вашим проектом.

 Смежные вопросы

  • Нет связанных вопросов^_^