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

1/5/10

Crear applets con netbeans (Los *.JAR)

JAN29


Cuando realizamos nuestros applets en Netbeans, como vimos en un sencillo ejemplo anterior, no basta utilizar una sola clase, los applets mas complejos cuentan con varias clases los cuales tenemos que empaquetar en *.JAR y asi mismo algunos applets tambien utilizan librerias (*.jar) de otras personas. El objetivo de este tutorial es el de mostrar como crear un applets desde netbeans 6.0 empaquetarlo y utilizarlo desde un navegador web.

El proyecto:
1. Crea un nuevo proyecto en netbeans, JAVA - JAVA APLICATION, llamalo "javaapplet".
2. En el proyecto que se crea, elimina el archivo MAIN, ya que no lo necesitamos.
3. Crea un nuevo JAppletForm, clic derecho sobre el paquete "javaapplet" y NEW - JAppletForm... llama a esta nueva clase "interfaz"
Si no encuentras esa opcion, debes escoger NEW - OTHER... y en la ventana que te aparece, escoges SWING GUI FORMS - JAPPLET FORM.
4.Al nuevo jAppletForm: Interfaz, añade los siguientes controles:

5. Crea una nueva clase; New - Java Class..., y llamalo "imagenNET.java" añade el siguiente codigo:


package javaapplet;
import java.awt.Dimension;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
/**
 * @web http://jc-mouse.blogspot.com/
 * @author Mouse
 */
public class imagenNET extends javax.swing.JLabel {
    
   String imagen;
   BufferedImage _image;    
     
    public imagenNET(String i,Dimension d){
        this.imagen=i;
        this.setBounds(0, 0, (int) d.getWidth(),(int) d.getHeight());
        cargar_imagen();
    }    
    /* carga la imagene de la pagina en memoria */   
    public void cargar_imagen(){    
            try {
                URL _url = new URL(this.imagen);
                _image = ImageIO.read(_url);
            } catch (IOException ex) {
                Logger.getLogger(imagenNET.class.getName()).log(Level.SEVERE, null, ex);
            }
            ImageIcon imagenFondo = new ImageIcon(_image);
            this.setIcon(imagenFondo);
            this.repaint();
    }      
}
Esta clase, que se extiende de un JLabel,  lo unico que hace, es añadir una imagen desde internet a este objeto.
6. Ya solo queda añadir un evento al JButton de la clase interfaz y colocar el siguiente evento:

El proyecto ya esta terminado, y lo ejecutamos desde netbeans para ver que este todo bien. Para generar los .class y el . JAR, debemos hacer clic derecho sobre el proyecto y elegir "Clean and build"

Luego cuando genero los class necesarios, para ejecutar el applet, clic derecho sobre la clase principal que tenga el metodo runable, en este caso nuestra clase "interfaz" y escogemos "Run File"
El applet se ejecuta desde el AppletViewer de java, como se ve en la imagen de abajo

Implementar el applet en un navegador web.
Cuando utilizamos la opcion "Clean And Build", netbeans generos todos los archivos necesarios para implementar el applet en navegadores web. Si se fija en la pestaña Files, podra ver que los archivos principal que necesitamos es el "javaapplet.jar", y el IDE,  tambien genero el archivo HTML correspondiente.

Son estos dos archivos que utilizaremos, copialos a una misma carpeta y abre el archivo HTML con el bloc de notas. Modifica el codigo HTML de la siguientye forma:


<HTML>
<HEAD>
   <TITLE>Applet HTML Page - by mouse</TITLE>
</HEAD>
<BODY>
<APPLET code="javaapplet.interfaz" archive="javaapplet.jar" width=650 height=600></APPLET>
</BODY>
</HTML>

En la etiqueta code, especificamos el paquete (javaapplet) y seguido de un punto, la clase principal que se ejecuta primero (interfaz).
En la etiqueta Archive, colocamos el nombre del paqute (javaapplet.jar), si este proyecto utilizara mas de un paquete, entonces colocamos los nombres de todos los paquetes seguidos de una coma, por ejemplo
archive="javaapplet.jar, otralibreria.jar, yotromas.jar"
Tambien especificamos el tamaño del applet con las etiquetas width y height.

IMPORTANTE: Este applet funciona correctamente desde el appletviewer, pero no funcionara desde un navegador web, esto debido a que ciertos applets, al hacer uso de recursos de la pc, o en este caso al tratar de conectarse a internet  para cargar una imagen, interfiere con la seguridad del equipo y por tanto el navegador no permite que se ejecute, para evitar esto, debemos FIRMAR DIGITALMENTE el applet para asi otorgarle los permisos necesarios para su correcta ejecucion. Este tuto no trata de firmas, eso se vera en otro tutorial.

No todos los applets necesitan contar con una firma digital para su ejecucion.

Cuando ejecutamos el applet ya con firma desde un navegador web, este nos informa de una aplicacion que desea ejecutarse, osea nos pide permiso.

Aqui tenemos el applet firmado y ejecutandose desde un navegador web (Firefox)
El videotutorial
Para descargar el proyecto en netbeans 6.0, el codigo fuente, los applets con el html firmado y no firmado para que se vea la diferencia entre ambos, el *.Jar que esta firmado, tiene una validez de 120 dias hasta caducar contando desde hoy (1 de mayo)
Click para descargar

¿me falto algo?

11 comentarios:

Anónimo dijo...

Me parece excelente tu explicación. Gracias por tu empeño!

Carlos dijo...

Buen dia Mouse , mi nombre es Carlos soy estudiante de la carrera de Sistemas Informaticos apenas inicie y me interesa bastante esto del java, pero el programa de educacion que maneja mi escuela no esta para manejar tanto el java en netbeans, asi que me gustaria me ayudaras con una aplicacio que quiero hacer. Te escribo mi correo para compartir informacion carlpinky@hotmail.com, Saludos.

Anónimo dijo...

Hola, en primer lugar dejame felicitarte por tu gran trabajo. Pues me parece xvr que nos deleites con todos tus conocimientos, haces bien en compartir lo q sabes y te agradesco, tus manuales son muy buenos y lo q te hace diferente a los demas esque no te olvidas de nada y nos ofreces los archivos ya realizados para descargar y leer los codigos, pues sin mas que decir buena suerte y estare pasando por tu blog para ver la novedades que me traes... mi correo es jlvs_virgo@hotmail.com, soy universitario y estoy en la carrera de ingenieria de sistemas.
Saludos desde peru-chimbote

Anónimo dijo...

gracias 100 de 10 super bueno lo mejor de la red en applet gracias mouse attm/h4ck3r0m3g@

Anónimo dijo...

Hola mouse gracias por compartir siempre tus conocimientos con los que apenas empesamos en esto. mi pregunta es esta. estoy haciendo un proyecto de un cafe internet y lo que quiero es lo siguiente en un jframe tengo varios jbutton que tienen la imagen de una pc c/u quiero que al darle clic a un jbutton
me de la hra. de inicio de seción en una columna de un jtable y despues hra. final en otra columna lo demas ya lo tengo como es la conexion a BD, espero su apoyo gracias.

Anónimo dijo...

Hola amigo,tengo un problema a haber si me ayudas porfavor,tengo un applet que ejecutandolo localmente funciona de maravillas,pero a la hora que lo subo a un servidor y trato de acceder a la pagina contenedora del applet me muestra error:

cargar: clase formu.interfaz no encontrada.........blablabla.

eso,haber si me puedes decir a que se debe.

Saludos cordiales.

Anónimo dijo...

Amigo me puede decir como cargar el driver de mysql-conector para una base de datos, es que localmente si funciona en mi pc, pero cuando la subo a mi sever no hace nada

Sushy dijo...

Hola ayuda porfavor hice un applet que utiliza una libreria extra JPL.JAR para prolog cuando lo ejecuto funciona bien, genere el applet.jar y el applet.class publique en una pag. web y todo bien hasta ahi, PROBLEMA: el applet se ve pero no se ejecutan las demas acciones que tienen que ver con la libreria JPL, ¿por que mi applet no funciona en su totalidad en el navegador web? que debo hacer ??? sera por esa libreria?? ya la coloque en archive="jpl.jar" copie la libreria en la carpeta del applet ya no se que hacer porfavor si alguien me ayudaria dejo mi correo susana_a280@hotmail.com

Anónimo dijo...

Sushy si te han respondido porfavor publica la solución, la verdad que tengo el mismo problema, aunque el applet es una tecnología ya poco usada la necesito para un proyecto.
Gracias de antemano a cualquiera.

Anónimo dijo...

hola de antemano te agradezco por los tutoriales, me han ayudado muchísimo, fijate que ya he hecho de todo y no me permite mostrar en el explorador mi applet, ya he hecho de todo, me gustaría compartirte mi proyecto que es sobre multiplicación de matrices cuadradas pero en applet, por si te interesa puedes escribirme a pedroguicho_cm@hotmail.com

Aprendiendo más rápido dijo...

Necesito ayuda para crear un applet en una web y me imprima un pdf

Post recomendado