Crow Crow - 1 month ago 11
Java Question

Adding a background image to Jframe (with Java using Eclipse)

I'm creating creating a videogame and I want to use a background image for the menu of the videogame, I've looked up other answers here but I can't find the solution, please. Here's part of the code:

package menu;

import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Graphics;


public class menu
{
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable() {

@Override
public void run() {
JFrame aplicacion = new MiAplicacionFrame();
aplicacion.setVisible(true);
aplicacion.setLocationRelativeTo(null);
}
});
}
}

class MiAplicacionFrame extends JFrame
{
//Mismas medidas que el juego final
public static final int DEFAULT_WIDTH = 850;
public static final int DEFAULT_HEIGHT = 500;

private Container contentPane;
private JMenuItem itemNuevo;
private JMenuItem itemConfig;
private JMenuItem itemSalir;
private JMenuItem itemAbout;

private JPanel panelJuego;

public MiAplicacionFrame()
{
super("Batalla naval - El juego");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
setDefaultCloseOperation(3);

contentPane = getContentPane();

initComponents();
addListeners();
}

private void initComponents()
{
JMenuBar barraMenu = new JMenuBar();
setJMenuBar(barraMenu);

JMenu menuJuego = new JMenu("Juego");
barraMenu.add(menuJuego);

itemNuevo = new JMenuItem("Nueva partida", 'n');
menuJuego.add(itemNuevo);

itemConfig = new JMenuItem("Instrucciones", 'c');
menuJuego.add(itemConfig);

itemSalir = new JMenuItem("Salir", 's');
menuJuego.add(itemSalir);

JMenu menuAyuda = new JMenu("Acerca de");
barraMenu.add(menuAyuda);
itemAbout = new JMenuItem("Créditos", 'a');
menuAyuda.add(itemAbout);

panelJuego = new PanelJuego();
panelJuego.setVisible(false);
contentPane.add(panelJuego);

}

private void addListeners()
{
ActionListener listener = new ActionListener() {

@Override
public void actionPerformed(ActionEvent evt)
{
Object obj = evt.getSource();
if (obj == itemNuevo)
itemNuevoActionPerformed(evt);
else if (obj == itemConfig)
itemConfigActionPerformed(evt);
else if (obj == itemSalir)
itemSalirActionPerformed(evt);
else if (obj == itemAbout)
itemAboutActionPerformed(evt);
}
};
itemNuevo.addActionListener(listener);
itemConfig.addActionListener(listener);
itemSalir.addActionListener(listener);
itemAbout.addActionListener(listener);
}

private void itemNuevoActionPerformed(ActionEvent evt)
{
panelJuego.setVisible(true);
}

}


Thanks in advance guys!

Answer

A little search on the internet found this

Comments