Capturar webcam con VB.NET

¿Que haremos? Crearemos una aplicación en Visual Studio, la cual hará uso de una webcam para capturar el video en frames independientes y depositarlos en memoria para despues mostralos al usuario a través de un picturebox y un Timer para crear la ilusión de movimiento. ¿Porque lo haremos? Porque es justo y necesario ¿Que necesitamos? [...]

Envío de correo con JavaMail/Netbeans

JavaMail es una expansión de Java que facilita el envío y recepción de e-mail desde código java. JavaMail implementa el protocolo SMTP (Simple Mail Transfer Protocol) así como los distintos tipos de conexión con servidores de correo -TLS, SSL, autentificación con usuario y password, etc [Según SantaWikipedia] ¿Qué necesitamos? JavaMail 1.4.5 Java y Netbeans 6.9 [...]

Proyecto de base de datos Firebird VB

En este proyecto realizaremos una aplicación de base de datos Firebird con el lenguaje de programación de Visual Basic de Microsoft, este proyecto tendrá las funciones básicas de gestión INSERT, DELETE, UPDATE y una interfaz de usuario para utilizarlas. ¿Que necesitamos? Visual Studio 2008 o superior Firebird última versión Firebird ADO.NET Data Provider. Conocimientos básicos [...]

Imprimir imagen con Print

La siguiente clase hace uso de PRINT para imprimir una imagen que se encuentra en un variable de tipo FileInputStream, esta clase a su vez es implementada desde una interfaz que hace fácil su uso, la clase así como todo el proyecto esta comentado. import java.io.File; import javax.print.Doc; import java.io.IOException; import javax.print.DocFlavor; import javax.print.SimpleDoc; import java.io.FileInputStream; [...]

Code Army Bolivia

2/12/09

Imagen de fondo en JPanel con Netbeans

JAN29

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:

Carlita dijo...

Eres un master mi chavo gracias me sacaste del apuro, tus explicaciones son muy buenas

Unknown dijo...

Eternamente agradecida!!
Explicación fantástica, ya estaba loca buscando por todos sitios!

Maythee dijo...

Realmente te digo... es el mejor ejemplo que he visto sobre imagen en JPanel! Excelente!!! Mil gracias por el aporte!!!!

Anónimo dijo...

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

Andrea Grimaldi dijo...

¡Te agradezco infinito!

Jose Bolivar dijo...

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

mouse dijo...

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

Anónimo dijo...

GRACIASSSSSSS.... estaba busque y busque.... hasta que lo encontre y nada mejor que muy bien explicado, de nuevo gracias man.. :)

Unknown dijo...

Hermano... Gracias!! me salvaste la vida!!Saludos desde Colombia

Jesus dijo...

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

Post recomendado