Указание размера фонового изображения с помощью JPanel - PullRequest
0 голосов
/ 27 мая 2020

Я изучал способы использования JPanel и других его функций, и я вроде как понял, как работает «вставка фонового изображения», но как мне указать его размер?

Вот мой пример кода:

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;


public class BgImageJPanel {
    public static void main(String[] args) {
        ImagePanel panel = new ImagePanel(
        new ImageIcon("C:\\Users\\Alex G\\Pictures\\Kda\\Evelynn.jpg").getImage());

    JFrame frame = new JFrame();
    frame.getContentPane().add(panel);
    frame.pack();
    frame.setVisible(true);
    }
}


    class ImagePanel extends JPanel {
    private Image img;

    public ImagePanel(String img) {
        this(new ImageIcon(img).getImage());

    }

    public ImagePanel(Image img) {
        this.img = img;
        Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
        setPreferredSize(size);
        setMinimumSize(size);
        setMaximumSize(size);
        setSize(size);
        setLayout(null);
    }
    public void paintComponent(Graphics g) {
        g.drawImage(img, 0, 0, null);
    }
}
...