Newsgroup: it.comp.java
Titolo: problema path in caricamento foto

Ho un problema nella visualizzzione di una immagine
ho una applicazione che mi permette di caricare una file.jpg 
qui di seguito il codice che utilizza un path assoluto. Utilizzo un path
assoluto, vorrei invece utilizzare il path relativo in modo che io possa
vedere le foto caricate facendo girare l'applicazione su di un'altro pc.
Ci ho provato ma mi sono arenata
/** 
     * Metodo associato a un JButton: permette di caricare la foto.
     */
 
    private void buttonFotoClick(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_buttonFotoClick
        Image immagine;
        JFileChooser dlgFile = new JFileChooser();
        if (dlgFile.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
            imageSelected = dlgFile.getSelectedFile();
            try {
                immagine = ImageIO.read(imageSelected);
                jLabelFoto.setIcon(new ImageIcon(immagine));
            } catch (FileNotFoundException e) {
                throw new RuntimeException("File not found");
            } catch (IOException e) {
                throw new RuntimeException("IO Error");
            }
        }
    }//GEN-LAST:event_buttonFotoClick
 
------------------------------------------------------------------
recupero la foto che mi serve come parametro per istanziare un oggetto di
tipo DVD
String foto = "";
        // Se e' stata caricata una foto, recupero il suo path
        if (imageSelected != null)
            foto = imageSelected.getAbsolutePath();
-------------------------------------------------------------------
// Gestione della foto per la visualizzazione in una JLabel
        String fotoPath = dvd.getFoto();
        if (fotoPath != null && fotoPath.length() > 0) {
            Image foto = null;
            try {
                foto = ImageIO.read(new File(fotoPath));
                jLabelFoto.setIcon(new ImageIcon(foto));
            } catch (IOException ex) {
                System.out.println("Errore durante il caricamento della
foto " + fotoPath + " - " + ex.getMessage());
            }                
        }
 
Spero di essermi spiegata bene!!!
Grazie      
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ------------------------------------------------------------------



Dimenticavo....le immagini sono in Progetto/immagini/.........   


Mi sembra che manchi il repaint dell'oggetto JLabel, non ti conviene
creare un pannello di dimensioni arbitrarie e caricare come sfondo
l'immagine?
Se ti può servire un esempio su di un pannello, riadattalo per le tue
esigenze dato che io ho ridisegnato un JDesktopPane....
Dimenticavo, fixa gli import...
    /**
     * La classe implementa un JDesktopPane con la capacità di avere
come sfondo
     * un'immagine arbitraria
     *
     * @author Seiya
     * @version 1.0
     */
    public static class ImageDesktopPane extends JDesktopPane
implements Serializable{
        Image img;
        public ImageDesktopPane(String path) {
            super();
            img = new
ImageIcon(Toolkit.getDefaultToolkit().getImage(path)).getImage();
        }
        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            g.drawImage(img, 0, 0, null);
        }
    }
Spero che ti sia d'aiuto
ciao Marco