Hinzufügen von Bildern auf JPanel über ImageIO.Lesen?

Ich versuche, fügen Sie ein JPanel mit einem Bild. Ich bin mit ImageIO.Lesen, um den Pfad abrufen, jedoch bekomme ich eine IOException aus, zu sagen : can ' T read input file

Dem Bild heißt TCHLogo. Es ist eine PNG in einer 'res' Ordner in meinem Projekt.

Wenn es irgendeine bessere Art der Darstellung das Bild bitte auch erwähnen!

Hier ist der code für mein JPanel:

import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JPanel;

public class ImagePanel extends JPanel{

    private BufferedImage image;

    public ImagePanel() {
        try {                
           //THIS LINE BELLOW WAS ADDED
           image = ImageIO.read(getClass().getResourceAsStream("res/TCHLogo.png"));
        } catch (IOException ex) {
             //handle exception...
            System.out.println(ex);
        }
     }

     @Override
     public void paintComponent(Graphics g) {
         super.paintComponent(g);  //THIS LINE WAS ADDED
         g.drawImage(image, 0, 0, null); //see javadoc for more info on the parameters
     }

}

Hier ist, wie ich hinzufügen JPanel in meinem Applet:

ImagePanel appletRunningPanel;
appletRunningPanel = new ImagePanel();
appletRunningPanel.setSize(300, 300);
appletRunningPanel.validate();
add(appletRunningPanel);

BEARBEITEN
Ich erstellt einen Ordner in der bin, die die Anwendung gestartet wird, suchen Sie in aktuell..
der Ordner namens res, und das Bild ist drinnen..

Nun bekomme ich folgende IOException aus, wenn ich die Zeile:

image = ImageIO.read(getClass().getResourceAsStream("res/TCHLogo.png"));

Hier ist der error log:

java.lang.IllegalArgumentException: input == null!
    at javax.imageio.ImageIO.read(ImageIO.java:1338)
    at surprice.applet.ImagePanel.<init>(ImagePanel.java:17)
    at surprice.applet.MainClass.init(MainClass.java:41)
    at sun.applet.AppletPanel.run(AppletPanel.java:436)
    at java.lang.Thread.run(Thread.java:679)

InformationsquelleAutor Rakso | 2011-11-13

Schreibe einen Kommentar