Das hinzufügen eines hintergrund-Bild auf ein JPanel

Ich arbeite auf dem Bau ein Brettspiel in Java. Für das Spielbrett selbst war ich versucht, um das Bild von dem board, wie der hintergrund der gesamten JPanel, das füllt den JFrame. Ich fand einen Weg, dies zu tun, sondern nur mit der lokal gespeicherte Datei, die es braucht, um in der Lage sein, um das Bild aus dem Paket GUI ist innen.

package Gui;

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;

//Proof of concept for setting an image as background of JPanel

public class JBackgroundPanel extends JPanel {
    private BufferedImage img;

    public JBackgroundPanel() {
        //load the background image
        try {
            img = ImageIO.read(new File(
                    "C:\\Users\\Matthew\\Desktop\\5x5     Grid.jpg"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        //paint the background image and scale it to fill the entire space
        g.drawImage(img, 0, 0, getWidth(), getHeight(), this);
    }
}

Habe ich gelesen, dass mit ImageIcon ist eine gute Lösung, aber ich weiß nicht, wie Sie es richtig verwenden.

Bearbeiten 1 - ich fand meine Antwort hier
http://www.coderanch.com/how-to/java/BackgroundImageOnJPanel
Ich hatte auch das Bild formatiert falsch in meinen Arbeitsbereich. Vielen Dank für die Hilfe

Sie werden wollen suchen Sie diesen Ort wie diesem wurde eine Menge gefragt. wenn Sie schauen, um auf ein Bild zugreifen, die aus einer jar-Datei, dann werden Sie wollen, um es als Ressource, d.h., ImageIO.read(getClass().getResourceAsStream(resourcePath)); Den Ressourcen-Pfad wird relativ zu den class-Dateien.
Hinweis: ImageIcon ist nicht eine "gute Lösung".

InformationsquelleAutor Matthew G | 2013-03-29

Schreibe einen Kommentar