一尘不染

Java在JFrame中设置背景图片

java

有什么方法可以将图像设置为背景JFrame?


阅读 927

收藏
2020-03-04

共1个答案

一尘不染

没有内置方法,但是有几种方法可以实现。目前我能想到的最直接的方法是:

  1. 创建的子类JComponent
  2. 重写paintComponent(Graphics g)绘制想要显示的图像的方法。
  3. 设置内容窗格的JFrame是这个子类。

一些示例代码:

class ImagePanel extends JComponent {
    private Image image;
    public ImagePanel(Image image) {
        this.image = image;
    }
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawImage(image, 0, 0, this);
    }
}

// elsewhere
BufferedImage myImage = ImageIO.read(...);
JFrame myJFrame = new JFrame("Image pane");
myJFrame.setContentPane(new ImagePanel(myImage));

请注意JFrame,如果你要使用此代码,则不会处理调整图像大小以适合的大小。

2020-03-04