Rumah >Java >javaTutorial >Bagaimana untuk Menetapkan Imej Latar Belakang untuk JPanel di Java?

Bagaimana untuk Menetapkan Imej Latar Belakang untuk JPanel di Java?

Linda Hamilton
Linda Hamiltonasal
2024-10-30 01:18:02670semak imbas

How to Set a Background Image for a JPanel in Java?

Cara untuk menetapkan gambar latar belakang dalam JPanel

Dalam kod ini, kami telah menambah JPanel bernama mainPanel untuk mewakili latar belakang. Berikut ialah kod yang dikemas kini:

<code class="java">import java.awt.*;
import javax.swing.*;
import java.awt.event.*;


public class imagebut extends JFrame
{

public static void main(String args [])
{
    imagebut w = new imagebut();
    w.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    w.setSize(300,300);
    w.setVisible(true);

}
public imagebut()
{   

    setLayout(null); // :-)
    PicPanel mainPanel = new PicPanel("picturename.jpg");
    mainPanel.setBounds(0,0,500,500);
    add(mainPanel);


}

class PicPanel extends JPanel{

    private BufferedImage image;
    private int w,h;
    public PicPanel(String fname){

        //reads the image
        try {
            image = ImageIO.read(new File(fname));
            w = image.getWidth();
            h = image.getHeight();

        } catch (IOException ioe) {
            System.out.println("Could not read in the pic");
            //System.exit(0);
        }

    }

    public Dimension getPreferredSize() {
        return new Dimension(w,h);
    }
    //this will draw the image
    public void paintComponent(Graphics g){
        super.paintComponent(g);
        g.drawImage(image,0,0,this);
    }
}

}</code>

Kod ini kini akan menetapkan imej latar belakang kepada JPanel dan ia akan dipaparkan dengan betul dalam bingkai.

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Imej Latar Belakang untuk JPanel di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn