Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107

    [ JAVA ] Caricare immagini da un file jar....

    Salve a tutti... chi mi può dire come faccio a caricare una immagine da un file .jar?
    Ad esempio so che facendo una cosa di tal tipo:

    URL url = MiaClasse.class.getResource("image/miaImg.gif");
    Image img=Toolkit.getDefaultToolkit().getImage( url );
    ImageIcon immagine = new ImageIcon( img );


    Dovrei riuscire ad ottenre quello che voglio... solo che ho un errore e non riesco a visualizzare l'immagine... qualcuno mi può aiutare? Magari mi si può fare in piccolo esempio? Perchè proprio non riesco a capire
    Grazie a tutti e ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    questa è la sintassi che uso io,

    URL url = ClassLoader.getSystemResource("images/image.gif");
    Image image = Toolkit.getDefaultToolkit().getImage(url);



    se non ti fa posta l'errore che ti dà il programma

  3. #3
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao... l'errore è un null pointer exception.... semmai domani te lo posto così gli dai 1 occhio... grazie e ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    Devi postarmi non solo il codice, ma il package e la struttura delle directory in cui hai salvato i file e da dove vuoi prendere le immagini

  5. #5
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao abcd.. scusa il disturbo.
    Allora il codice che uso è il seguente:

    package grafica;

    import javax.swing.*;
    import java.awt.*;
    import java.net.*;

    /**
    *

    Title: </p>
    *

    Description: </p>
    *

    Copyright: Copyright (c) 2003</p>
    *

    Company: </p>
    * @author not attributable
    * @version 1.0
    */

    public class Img extends JFrame {
    JPanel jPanel1 = new JPanel();
    JLabel jLabel1 = new JLabel();
    URL url = Img.class.getResource("image/FARMACIA1.gif");
    Image img=Toolkit.getDefaultToolkit().getImage(url);
    ImageIcon image = new ImageIcon( img );
    public Img() {
    try {
    jbInit();
    }
    catch(Exception e) {
    e.printStackTrace();
    }
    this.setTitle("Prova Immagine");
    this.setSize( new Dimension( 152,152 ) );
    this.show();
    }
    private void jbInit() throws Exception {
    this.getContentPane().setLayout(null);
    jPanel1.setBorder(BorderFactory.createEtchedBorder ());
    jPanel1.setBounds(new Rectangle(3, 4, 394, 293));
    jPanel1.setLayout(null);
    jLabel1.setBorder(BorderFactory.createEtchedBorder ());
    jLabel1.setBounds(new Rectangle(74, 96, 246, 100));
    this.jLabel1.setIcon( image );
    this.getContentPane().add(jPanel1, null);
    jPanel1.add(jLabel1, null);
    }
    public static void main( String[] args ){
    new Img();
    }
    }

    L'errore è il seguente:

    Uncaught error fetching image:
    java.lang.NullPointerException
    at sun.awt.image.URLImageSource.getConnection(URLImag eSource.java:99)
    at sun.awt.image.URLImageSource.getDecoder(URLImageSo urce.java:108)
    at sun.awt.image.InputStreamImageSource.doFetch(Input StreamImageSource.java:251)
    at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher. java:168)
    at sun.awt.image.ImageFetcher.run(ImageFetcher.java:1 36)

    Ho un package in cui c'è la classe Img ed un package image in cui c'è l'immagine FARMACIA1.gif Queste sono le uniche due cartelle che uso e Img è l'unica classe che ho creato... come mai non funzica???
    Bah Cmq ogni aiuto è gradito.... ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    devi dirmi la struttura gerarchica tra la dir grafica e image

    Sono allo stesso livello? ad esempio:

    c:\progetto\grafica
    c:\progetto\image

    oppure sono messe diversamente?

  7. #7
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao.
    Entrambe sono nella cartella c:\jar; cioè:

    c:\jar\grafica
    c:\jar\image

    Grazie ancora
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    prova così

    URL url = ClassLoader.getSystemResource("image/FARMACIA1.gif");

    oppure

    URL url = Img.class.getResource("../image/FARMACIA1.gif");

  9. #9
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Niente non funzica...
    Cmq grazie dell'aiuto... se hai qualche altra ditta.. è ben accetta
    ciauz
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  10. #10
    A come hai impostato il codice devi creare la cartella image dentro
    grafica e metterci all'interno la gif

    Questo perchè Img.class.getResource("image/FARMACIA1.gif");
    si riferisce alla cartella grafica cioé dove risiede il .class

    Prova vedrai che ti funziona

    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.