Java 将图像置于背景中

Java 将图像置于背景中,java,swing,Java,Swing,我试图把am图像作为背景。 当我运行代码时,会出现一个没有显示任何内容的屏幕,另一个屏幕有两个按钮和黄色背景。如何替换黄色并放入我想要的图像 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.

我试图把am图像作为背景。 当我运行代码时,会出现一个没有显示任何内容的屏幕,另一个屏幕有两个按钮和黄色背景。如何替换黄色并放入我想要的图像

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class GameFrame extends JFrame {

    public BufferedImage image;
    public JFrame gameframe;
    public JPanel panel;
    public JButton b1;
    public JButton b2;

    public JLabel lab;

    public GameFrame() {
        //SETTING GAMEFRAME
        gameframe = new JFrame("Poop MAN");

        gameframe.setVisible(true);
        gameframe.setSize(1350, 1000);
        gameframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        panel = new JPanel();

        panel.setBackground(Color.yellow);

        //BUTTONS
        panel.setLayout(null);
        b1 = new JButton("CONTROLS");
        b2 = new JButton("START");
        b1.setBounds(500, 200, 150, 150);
        b2.setBounds(500, 400, 150, 150);

        b1.setPreferredSize(new Dimension(50, 50));
        b2.setPreferredSize(new Dimension(30, 50));

        panel.add(b1, BorderLayout.SOUTH);
        panel.add(b2, BorderLayout.SOUTH);

        gameframe.add(panel);
        gameframe.repaint();

    }

    public void ImagePanel() {
        try {
            image = ImageIO.read(new File("unnamed"));
        } catch (IOException ex) {

        }
    }

    public BufferedImage getImg() {
        return image;
    }
}

要想让它看起来漂亮,这并不那么直截了当。看一看背景面板

googleit,真的很有帮助你的意思是类似或?看到四个链接示例了吗?看看是怎么做的。如果您不熟悉扩展类、重写方法或自定义绘制,我建议您在开始制作游戏之前花点时间学习它们,您需要了解这些术语以及如何应用它们。你可能会发现,在这种情况下,可能是一个很好的阅读,以及,和。从一些小想法开始,找出如何让它们发挥作用,然后将它们结合在一起。摆脱
扩展JFrame
,它会使代码复杂化,不会增加真正的价值