Imagen de Fondo en Java

    Muchos preguntan como colocar una imagen de fondo a una ventana, bien sea un frame o un panel, y la respuesta mas sencilla es colocar un label y sobre ese label colocar el resto de las cosas, para ello creamos un label y le indicamos que manejara un icono, este icono sera nuestra imagen de fondo....

JLabel FONDO = new JLabel(new ImageIcon("mi/imagen.extensión"));

   Es muy importante ver que la dirección esta dada por slash (/) simple y no por el invertido (\), esta es la forma directa, aunque también podemos cargar el icono y luego agregarlo al label...

ImageIcon ICONO = new
ImageIcon("mi/imagen.extensión"); 
JLabel FONDO = new JLabel(ICONO);

   Esta es la forma más sencilla y fácil de todas, aunque existen mejores esta es una excelente soluciones para cosas sencillas y prácticas, podemos probar el siguiente ejemplo que consta de dos archivos, el .java y la imagen, para ello guardamos la imagen en nuestro disco y luego vamos con el ejemplo.

Dirección de la imagen.

import java.awt.*;
import javax.swing.*;

public class FrameFondo extends Frame {
MenuBar BARRA = new MenuBar();
Menu MENU1 = new Menu("Archivo");
Menu MENU2 = new Menu("Ayuda");
MenuItem ITEMa1 = new MenuItem("Nuevo");
MenuItem ITEMa2 = new MenuItem("Salir");
MenuItem ITEMb1 = new MenuItem("Acerca de...");
JLabel FONDO = new JLabel(new ImageIcon("C:/copypaste.jpg")); //Esta es la dirección de la imagen

public FrameFondo() {
super("Primera Ventana");
setLocation(100,100);
setSize(320,213);
setMenuBar(BARRA);
BARRA.add(MENU1);
BARRA.add(MENU2);
MENU1.add(ITEMa1);
MENU1.add(ITEMa2);
MENU2.add(ITEMb1);
this.add(FONDO);
show();
}

public boolean handleEvent(Event evt) {
if (evt.id == Event.WINDOW_DESTROY) //Método para cerrar
System.exit(0);     //el Frame (ventana)
if (evt.target instanceof MenuItem) {//Métodos a utilizar para cada opción
if("Nuevo".equals(evt.arg))
JOptionPane.showMessageDialog(null,
"Esto es solo prueba =)", "Carlitox en la web",
JOptionPane.INFORMATION_MESSAGE);
if("Salir".equals(evt.arg)) {
JOptionPane.showMessageDialog(null,
"Adios..!!", "Carlitox en la web",
JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
} if("Acerca de...".equals(evt.arg))
JOptionPane.showMessageDialog(null,
"Creado por: Carlos Martínez"+
"\nSite web: www.carlitoxenlaweb.blogspot.com",
"Carlitox en la web", JOptionPane.INFORMATION_MESSAGE);
return (true);
}
return super.handleEvent(evt);
}

public static void main(String[] arg) {
JOptionPane.showMessageDialog(null,"www.carlitoxenlaweb.blogspot.com");
new FrameFondo();
}
}

   La imagen podemos colocarla en la raíz del disco duro principal (c:\) o si estamos en linux seria mejor colocarla en la carpeta personal (/home)... Continua ->