Java:Background 图片添加到 JFrame

Java:Background Image add on JFrame

我正在制作一个 gui 程序,一切正常,但在框架中添加背景图像,所以我将 jpanel 设为私有 variable.Also 我在 src 中添加图像,它是

但是如何使用这个 jpanel 变量在框架中添加背景图像。
代码:

public class App extends JFrame{

private JPanel panel;
private JTextField field1;
private JTextField print;
private JLabel label;
private JLabel label2;
private JButton button;




public App(){
    super();
getContentPane().setLayout(null);



label = new JLabel("Value");
label.setForeground(Color.RED);
label.setFont(new Font("SansSerif", Font.PLAIN, 18));
label.setBounds(178, 46, 51, 26);
getContentPane().add(label);


label2 = new JLabel("Print");
label2.setForeground(Color.RED);
label2.setFont(new Font("SansSerif", Font.PLAIN, 18));
label2.setBounds(178, 143, 42, 26);


getContentPane().add(label2);






field1 = new JTextField();
field1.setBounds(178, 72, 76, 26);


getContentPane().add(field1);



print = new JTextField();
print.setBounds(178, 181, 77, 26);
getContentPane().add(print);



button = new JButton("Click");
button.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {

        String w= field1.getText();
        print.setText(w);



    }
});
button.setBounds(178, 219, 77, 26);
getContentPane().add(button);



}

}

主要方法:

public class Main {

public static void main(String[] args) {



    App object = new App();
    object.setSize(450, 400);   
    object.setDefaultCloseOperation(object.EXIT_ON_CLOSE);
    object.setLocationRelativeTo(null);
    object.setVisible(true);        
       }


}

您已将 Layout 设置为 null,这是一个问题。每当我们将布局设置为 null 时,我们必须为其设置边界。

按照这个方法:

  1. 首先复制你的背景图片并粘贴到代码的src

  2. 而不是像这样将布局设置为 borderlayout:

    setLayout(new BorderLayout());

  3. 现在添加此代码:

    setContentPane(new JLabel new ImageIcon(getClass().getResource("image.jpg"))));

注意:在此处添加您的图片名称"image.jpg"