Visualizzazione dei risultati da 1 a 5 su 5

Discussione: localURL

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396

    localURL

    Ciao il programma funziona bene, adesso però per richiamare le foto ho dei problemini:
    non riesco a definire un percorso al di fuori del mio package.
    In questo codice devo per forza mettere come indirizzo "immagine.jpg" e non posso mettere un percorso più lungo, tipo "foto.immagine.jpg" perchè non mi trova la foto.

    Questo è il codice:
    codice:
    import java.awt.Graphics;
    import java.awt.Image;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    
    
    public class backgroundedPanel extends javax.swing.JPanel
    {
        protected Image img;
    
        public backgroundedPanel(String localURL)
        {
            super();
            try
            {this.img = ImageIO.read(getClass().getResource(localURL));}
            catch (IOException ex)
            {System.out.print("Impossibile leggere l'immagine per creare il pane \n");}
        }
    
        @Override
    
        protected void paintComponent(Graphics g) {
            if (img == null) {
                super.paintComponent(g);
            } else {
                int panelWidth = getWidth();
                int panelHeight = getHeight();
                int imageWidth = panelWidth;
                int imageHeight = panelHeight;
    
                 g.drawImage(img,0,0,imageWidth,imageHeight,null);
    
                    }
                }
    }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: localURL

    Originariamente inviato da Salinas
    non riesco a definire un percorso al di fuori del mio package.
    this.img = ImageIO.read(getClass().getResource(localURL));
    No ... non ci siamo. Te lo avevo già detto, mi sembra, a getResource() non passi un URL in senso "generale" .... passi un nome di risorsa particolare il cui significato dipende anche dal fatto se inizia con / o no se invocato su un Class.

    C'è anche una read() di ImageIO che riceve un java.io.File. Quindi costruisci un File con un certo path e puoi fare riferimento a qualunque file sul file-system. Ovviamente .... "cablare" un eventuale path "assoluto" dentro il sorgente non è generalmente una buona cosa e invece mettere un path "relativo" ... beh, dipende dalla directory "corrente". Quindi sei avvisato.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396
    C'è anche una read() di ImageIO che riceve un java.io.File. Quindi costruisci un File con un certo path e puoi fare riferimento a qualunque file sul file-system. Ovviamente .... "cablare" un eventuale path "assoluto" dentro il sorgente non è generalmente una buona cosa e invece mettere un path "relativo" ... beh, dipende dalla directory "corrente". Quindi sei avvisato.
    questa non l'ho capita, con un certo path quale?
    non puoi farmi un esempio pratico per farmi capire meglio???
    Lo so che mi posso muovere solo dentro il mio package, ma non riesco neanche all'interno dello stesso a muovermi tra le varie cartelle. O metto il file.jpg tra le classi utilizzate, o altrimenti se lo metto in una cartella non so come dargli il percorso.

    Mi potete dire che percorso mettere per entrare in una cartella? tipo: ("." "," ":" foto.jpg)

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Salinas
    questa non l'ho capita, con un certo path quale?
    File f = new File("C:/prova/icona.gif");

    Questo è "assoluto" .... e non è bellissimo da mettere e usare in un sorgente.

    File f = new File("icona.gif");
    File f = new File("prova/icona.gif");
    File f = new File("../icona.gif");

    Questi sono "relativi" .... relativi alla directory "corrente". Questa directory corrente non centra/dipende da dove hai i sorgenti ... dipende da come/da dove lanci la JVM.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396

    [RISOLTO]

    Grazie, ho risolto!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.