Partage
  • Partager sur Facebook
  • Partager sur Twitter

impossible de lire un fichier (image)

Sujet résolu
    20 avril 2017 à 19:11:59

    Bonjour,
    J'étais en train de faire mon application Java et je voulais modifier l'image de fond de la page.
    J'ai vu comment faire sur OCR mais à chaque fois que j'essaye de faire apparaitre l'image, cela ne fonctionne pas :(

    Voici mon code :

    (Main)

    package org.project.name;
    
    public class accueil {
    	public static void main(String[] args) {
    		Ecran_accueil window;
    		window = new Ecran_accueil();
    		window.setVisible(true);
    	}
    }
    

    (classe "Ecran accueil")
    package org.project.name;
    
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    
    public class Ecran_accueil extends JFrame {
    	private static final long serialVersionUID = 1L;
    	JPanel pano;
    	public Ecran_accueil() {
    		setTitle("premiere fenetre en JAVA");
    		setBounds(0,0,1500,500);
    		setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    		EcouteurLogger ecLog;
    		ecLog = new EcouteurLogger();
    		JMenuBar barreMenu;
    		barreMenu = new JMenuBar();
    		JMenu menuDev;
    		menuDev = new JMenu("outils de dev");
    		barreMenu.add(menuDev);
    		JMenuItem mnuLogger;
    		mnuLogger = new JMenuItem("Activer le logger...");
    		menuDev.add(mnuLogger);
    		mnuLogger.addActionListener(ecLog);
    		setJMenuBar(barreMenu);
    		pano = new JPanel();
    		pano.add(new Font_accueil());
    		getContentPane().add(pano);
    		setContentPane(new Font_accueil());
    		addWindowListener(new WindowAdapter() {
    			public void windowClosing(WindowEvent arg0) {
    				System.exit(0);
    			}
    		}
    		);
    	}
    	public class EcouteurLogger implements ActionListener {
    		public void actionPerformed(ActionEvent e) {
    			JOptionPane.showMessageDialog(null, "coming soon...","Activation du Logger",JOptionPane.ERROR_MESSAGE);
    		}
    	}
    }
    

    (classe "Font_accueil")

    package org.project.name;
    
    import java.awt.Graphics;
    import java.awt.Image;
    import java.io.File;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    import javax.swing.JPanel;
    
    public class Font_accueil extends JPanel {
    	private static final long serialVersionUID = 1L;
    	public void paintComponent(Graphics g){
    		try {
    			Image img = ImageIO.read(new File("void_logo.png"));
    			g.drawImage(img, 0, 0, this);
    			g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    }

    (Hiérarchie de mes fichiers)

    | projetSmartphone
            | src
                    | org.project.name
                            | accueil.java
                            | Ecran_accueil.java
                            | Font_accueil.java
                            | void_logo.png

    Erreur : javax.imageio.IIOException: Can't read input file !


    Merci d'avance pour vos réponses :)

    -
    Edité par Draco360 [C0DexTeam] 20 avril 2017 à 19:12:56

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      20 avril 2017 à 21:07:57

      import java.awt.image.BufferedImage;
      
      // ...
      
          final BufferedImage img = ImageIO.read(new File("..."))
          g.drawImage(img, ...)
      ?
      • Partager sur Facebook
      • Partager sur Twitter
        21 avril 2017 à 0:04:14

        En fait c'est le chemin de votre image qui est mal indiqué 

        si votre image est bien dans le dossier src/org/project/name utiliser ça voir :

        Image img = ImageIO.read(Font_accueil.class.getResource("/org/project/name/void_logo.png"));
        //ou bien 
        Image img = ImageIO.read(Font_accueil.class.getResource("/org/project/name/void_logo.png").getFile());



        • Partager sur Facebook
        • Partager sur Twitter
        MSKD

        impossible de lire un fichier (image)

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown