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.
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 ->
Recibe notificaciones por correo