Como ya escribi en un post anterior
como colocar una imagen de fondo en un JFame, ahora surge la interrogante de como colocar una imagen de fondo en un
JPanel, googleando encontre ejemplos de como realizar esta accion pero bastante pesados y poco entendibles, asi que me quede jugando un poco con el codigo que tenia y al final resulto cosa mas sencilla. Aqui esta como
La clase que utilizamos es esta llamada mipanel la creamos para colocar la imagen dentro el JFrame y ahora nos servira para hacerlo dentro del JPanel, no hay que modificar nada, si quieres saber mas de esta clase, entra
aqui.
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.ImageIcon;
/**
* http://jc-mouse.blogspot.com/
* @author Mouse
*/
public class mipanel extends javax.swing.JPanel {
public mipanel(){
this.setSize(400,280);
}
@Override
public void paint(Graphics g){
Dimension tamanio = getSize();
ImageIcon imagenFondo = new ImageIcon(getClass().getResource("/imagenes/casalibertad.jpg"));
g.drawImage(imagenFondo.getImage(),0,0,tamanio.width, tamanio.height, null);
setOpaque(false);
super.paintComponent(g);
}
}
Ahora una ves que tenemos nuestro proyecto abierto, en nuestro jFrame colocamos nuestro JPanel al cual le queremos añadir la imagen. Dejala con el nombre por defecto
jPanel1
Ahora dirigete al codigo "Source" y añade el evento formWindowActivated al jFrame
Añade el siguiente codigo:
private void formWindowActivated(java.awt.event.WindowEvent evt) {
mipanel p = new mipanel();
jPanel1.add(p);
jPanel1.repaint();
}
eso es todo. solo ejecuta el proyecto (F6) y listo.
El codigo no esta completo, como se ve en la imagen el jpanel toma la imagen que tenemos de mipanel.java, pero conserva su tamaño original, esto puede modificarse claro, pero ya me dio flojera sera en otra. Lo que si intereza es poder utilizar controles encima de la imagen, y como puede verse en la captura de abajo, lo permite.
10 comentarios:
Eres un master mi chavo gracias me sacaste del apuro, tus explicaciones son muy buenas
Eternamente agradecida!!
Explicación fantástica, ya estaba loca buscando por todos sitios!
Realmente te digo... es el mejor ejemplo que he visto sobre imagen en JPanel! Excelente!!! Mil gracias por el aporte!!!!
fiiiiiiu...
que rifado.
oye y si quiero 2 o mas paneles con imagenes diferentes, se necesita una clase para cada uno? o hay forma de hacerlo todo en una misma ?
Espero que respondas pronto
¡Te agradezco infinito!
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
netbeans me dice esto sabes como compilar como el dice???
por cierto he leído muchas copias de lo que tu haces y no dicen que eres tu te agradezco me has ayudado con muchas otras cosas
hola :)
ese aviso te dice que se esta utilizando algunos elementos deprecated, este post lo hice hace tiempo y ya en ese entonces estaba deprecated el metodo formWindowActivated.
mi consejo ya no lo utilices.
en cambio el codigo del jpanel si es valido. si te interesa busca en este mi blog el compònente jcmousepanel
saludos
GRACIASSSSSSS.... estaba busque y busque.... hasta que lo encontre y nada mejor que muy bien explicado, de nuevo gracias man.. :)
Hermano... Gracias!! me salvaste la vida!!Saludos desde Colombia
Hola a todos te publico una duda y ojalá me la puedas aclarar estoy usando java + hibernate para el acceso a la base de datos esto es nuevo para mi y me da el siguiente error
"La llave (id_medida)=(0) no está presente en la tabla «vulnerabilidad»." y es debido a que esas tablas tienen una relación de 1 a 1 pudieras ayudarme este es mi correo jrherrera@estudiantes.uci.cu es que no todos los días me puedo conectar a internet saludos y gracias
Publicar un comentario