Hintergrund in Java GUI?

Heyho,

Ich möchte gerne in meiner GUI einen Hintergrund einfügen, da es sonst so trostlos wirkt. Es soll das Bild "GameBackground.jpg" genutzt werden.

Hier ist der Code:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*; 
import ch.aplu.turtle.*;

/**
 *
 * Ein Spiel mit GUI
 *
 * @version 1.0 vom 19.05.2023
 * @abraham_oez 
 */

public class frame extends JFrame {
  private Button bSpielstarten1 = new Button();
  // Anfang Attribute
  private Button bHowtoplay1 = new Button();
  private Button bCopyright1 = new Button();
    private JMenu jMenuBar1_File = new JMenu("Spiel");
      private JMenu jMenuBar1_File_New = new JMenu("Neues Spiel");
  
  private JLabel Label1 = new JLabel();
  // Ende Attribute
  public frame() { 
    // Frame init
    super();
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 746; 
    int frameHeight = 562;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    setTitle("Games by Abie D. Tate");
    setResizable(false);
    Container cp = getContentPane();
    cp.setLayout(null);
    setUndecorated(false);
    cp.setBackground(new Color(0xC0C0C0));
    // Anfang Komponenten
    
    bSpielstarten1.setBounds(288, 104, 176, 48);
    bSpielstarten1.setLabel("Spiel starten");
    bSpielstarten1.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        bSpielstarten1_ActionPerformed(evt);
      }
    });
    cp.add(bSpielstarten1);
    bHowtoplay1.setBounds(285, 224, 176, 48);
    bHowtoplay1.setLabel("How to play");
    bHowtoplay1.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        bHowtoplay1_ActionPerformed(evt);
      }
    });
    cp.add(bHowtoplay1);
    bCopyright1.setBounds(288, 352, 176, 48);
    bCopyright1.setLabel("Lizenzen");
    bCopyright1.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        bCopyright1_ActionPerformed(evt);
      }
    });
    cp.add(bCopyright1);

    // Ende Komponenten
    setVisible(true);
  }  
  
  
  
  public static void main(String[] args) {
    new frame();
  }  
  
  // Anfang Methoden
  public void bSpielstarten1_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
    
  } 

  public void bHowtoplay1_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
    
  }  
  
  //Nachdem der Button 'Copyright' gedrueckt wurde, wird die Klasse 'CopyrightFrame' geoeffnet in einem neuen Fenster
  public void bCopyright1_ActionPerformed(ActionEvent evt) {
    
    if (evt.getSource() == bCopyright1) {
      CopyrightFrame copyrightFrame = new CopyrightFrame();
    } 
    
  }  

} 

Java, Programmiersprache, Swing, Java Swing
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.