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
Mostrando entradas con la etiqueta Applet. Mostrar todas las entradas
Mostrando entradas con la etiqueta Applet. Mostrar todas las entradas

29/9/13

Multiplicación de matrices con applet

JAN29

Un aporte de un amigo guatemalteco Luis CMurga, nos deja a disposición un proyecto java/netbeans para multiplicar matrices gráficamente utilizando la tecnología de los applets.

Originalmente desarrollado con java 7, funciona perfectamente en java 6 con minúsculas modificaciones, ademas hace uso de la librería AbsoluteLayout, cuenta con dos clases cada una con una manera diferente de introducir los datos.




Dar las gracias por el aporte a:
Autor: Luis CMurga
Facebook: https://www.facebook.com/luis.cmurga

Descargar proyecto AQUI

continue reading

20/11/11

Envio de datos de Applets a PHP

JAN29

En este tutorial aprenderemos a enviar datos desde Applets Java hacia un servidor con PHP mediante POST y esperar una respuesta para mostrar desde el Applet.

¿Que necesitamos?

  • IDE Netbeans 6.9 o Sup
  • Conocimientos de PHP
  • Para las pruebas un servidor web instalado en el equipo

Proyecto.
1.- Crea un nuevo proyecto en Netbeans (nombre= jpFormulario) sin el main, es un applet asi que no necesita de eso, añade un Formulario JApplet (nombre=interfaz.java) y un archivo de clase (nombre=formulario.java), debes tener algo como esto:

2. A nuestra clase interfaz, debemos añadirle objetos y formar un simple formulario, este formulario tendra 4 campos para el nombre, apellido paterno, materno y el correo electronico, ademas de un boton y un JTextArea donde colocaremos la respuesta del servidor. En la imagen de abajo puedes ver lo que queremos lograr, los campos marcados con punto rojo, son donde debes tener cuidado, debes colocar el mismo nombre que se ve, es importante
3. Ahora debemos crear el codigo de envio de formulario, para esto debemos agregar a la clase formulario.java el siguiente codigo:

CLASE: formulario.java

01 package jpFormulario;
02 import java.io.BufferedReader;
03 import java.io.IOException;
04 import java.io.InputStreamReader;
05 import java.io.OutputStreamWriter;
06 import java.net.URL;
07 import java.net.URLConnection;
08 import java.net.URLEncoder;
09 /**
10  * @web http://jc-mouse.blogspot.com/
11  * @author Mouse
12  */
13 public class formulario {
14 
15         /* FUNCION PARA ENVIAR LOS DATOS AL SERVIDOR */
16     public String enviardatos(String name, String app, String apm, String mail)
17     {
18         try {
19             //se forma la cadena con los datos a enviar
20             String dataString ="name="+name+"&app="+app+"&apm="+apm+"&mail="+mail;
21             URLEncoder.encode(dataString, "UTF-8");
22             // Send data
23             URL url = new URL("http://localhost/japplet/jpFormulario/index.php");
24             URLConnection conn = url.openConnection();
25             conn.setDoOutput(true);
26             OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
27             wr.write(dataString);
28             wr.flush();
29             //se obtiene la respuesta del servidor
30             BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
31             String linea, tmp = "";
32              while (( linea = rd.readLine()) != null)
33                  tmp+=linea;
34             //se da un formato de salida al texto
35             tmp = formato(tmp);
36             wr.close();
37             rd.close();
38 
39             return tmp;
40         } catch (IOException ex) {
41             return "";
42         }
43     }
44 
45     /* funcion que dada una cadena de forma:
46      * texto-texto-texto....
47      * separa con un guion, la separa y devuelve
48      * en lineas
49      */
50     private String formato(String tmp)
51     {
52        int j = 0;
53        String [] r = tmp.split("-");
54        tmp="";
55        while(j<r.length){
56            tmp+=r[j]+"\n";
57            j++;
58        }
59        return tmp;
60     }
61 
62 }

Explicación:

La clase se reduce a una función enviardatos(), que necesita como parametros los datos a enviar (nombre, apellidos y email) y que devuelve como resultado un String, este estring puede ser cualquier cosa que especifiquemos en el codigo PHP, este lo veremos mas adelante.

En la linea 20: formamos lo que sera nuestra cadena de datos muy similar a lo que hacemos en javascript y ajax.

En la linea 23: debemos colocar la ruta absluta del archivo PHP al que queremos conectarnos, recuerda que un applet se ejecuta desde en la PC del cliente y el PHP desde el servidor, esta linea debe tener la forma de:


http://www.mipaginaweb.net/carpeta/micodigo.php

El resto de codigo que le continua es para abrir la conexion, mandar los datos y esperar respuesta.

desde la linea 30 podemos ver como se obtiene la respuesta, esta sera un string al cual ya podemos dar el uso que queramos.

Para este ejemplo recibimos una cadena de tipo "texto-texto-texto...." los datos como se observa estan separados por guiones, entonces utilizando el split() formamos un array, damos formato y mostramos al usuario mediante el JTextArea, esto no tiene nada que ver con el envio de datos y solo se lo hace para tener algo más presentable al usuario, bien podriamos esperar un 1 o 0 como respuesta del servidor y mostrar una venta de aviso.

4. Para terminar el applet debemos implementar esta clase en la clase interfaz.java. Si seguiste las instrucciones de arriba, solamente deberas añadir al JButton el siguiente codigo:


01  private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
02         formulario f = new formulario();
03         RESPUESTA.setText(
04                 f.enviardatos(name.getText(), app.getText(), apm.getText(), mail.getText())
05         );
06     }    

Explicación: Creamos una instancia de la clase formulario.java y al objeto jTextArea, asignaremos la funcion enviardatos() con los datos que obtendremos de los campos del formulario, como la respuesta que obtendremos es un String, esta la mostraremos directamente en el JTextArea.

5. Nos falta el codigo de nuestro archivo PHP, este es:

PHP: index.php

01 <?php
02  //comprobamos que los datos POST existen y fueron recibidos correctamente
03  if( isset($_POST['name']) and isset($_POST['app'])  
04        and isset($_POST['apm'])  and isset($_POST['mail'])  )
05  {
06    //se colocan los datos en  variables
07    $name = $_POST['name'];
08    $app = $_POST['app'];
09    $apm = $_POST['apm'];
10    $mail = $_POST['mail'];
11    //con los datos que nos pasa el applet ya pdemos proseguir con el registro en la BD
12    // [ interaccion con la base de datos ]
13    // ....
14    //despues podemos devolver un mensaje al usuario
15    $guion="-";
16    echo 'GRACIAS POR REGISTRARTE'.$guion;
17    echo 'Nombre: '.$name.$guion;
18    echo 'Ap. Paterno:'.$app.$guion;
19    echo 'Ap. Materno:'.$apm.$guion;
20    echo 'Mail:'.$mail.$guion;
21    echo $guion;
22    echo 'FIN';
23  }
24  else
25  {
26   echo "Error: No existen datos";
27  }
28 ?> 

Para los que conocen PHP se daran cuenta de que el archivo no hace mas que esperar unos parametros POST, estos paramatros los asiga a unas variables y ya desde aqui podemos tratar los datos como más nos convenga, si no existen datos POST, el archivo devuelve una cadena de error "Error: No existen datos", para el ejemplo de este tutorial, no manejamos base de datos para facilitar las cosas, asi que el archivo se reduce a obtener los datos POST, formar una cadena de respuesta y escribir esta con la sentencia ECHO, a que es igual a ajax :/

IMPORTANTE: este archivo PHP debe estar en un servidor web junto al applet o no, ya es cuestion de gustos. Si ejecutamos la aplicación desde el netbeans, no necesitamos de un archivo html, el appletviewer nos muestra el resultado.
Si lo implementamos desde un servidor web necesitamos crear un archivo HTML que nos implemente el applet.

Puedes ver como queda todo desde este video

El proyecto esta aqui:
Click para descargar

enjoy

continue reading

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?

continue reading

7/3/10

Agujero de seguridad en navegadores y java

JAN29

Java controla la creacion de ventanas desde los applet para evitar engañar al usuario, pero estas restriciones pueden ser esquivadas con algunas trampas y asi crear ventanas desde los applet simulando ser aplicaciones propias del sistema operativo, engañar al suario y llevar a cabo acciones "maliciosas" o simplemente causarles un gran susto :)

En este ejemplo, se simula mediante la creacion de un objeto "window", la clasica "pantalla azul de la muerte" del sistema operativo windows, que bien podria engañar a un "usuario promedio" que navega por internet, este metodo, tambien podria usarse por ejemplo para engañar al usuario para "obtener contraseñas", "obtener datos del usuario", "meterle algun malware", etc, aprovechando la ingenuidad de la mayoria de las personas que navega por internet (ingenieria social). pero es solo un ejemplo, no lo hagan :) estan avisados ;)

Pantalla azul de la muerte desde java

Para crear esta pantalla, se crea primeramente una ventana sin bordes utilizando la clase Window de java, se añade los objetos necesarios, el tamaño que debe tomar este applet debe ser del tamaño de toda la pantalla, asi se oculta un pequeño mensaje que crea java para avisar de que esta ventana proviene de un applet
El codigo para el WINDOW:

import java.awt.Color;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.Window;
import javax.swing.JLabel;
/**
 * @web http://jc-mouse.blogspot.com/
 * @author Mouse
 */
public class MyWindow  extends Window{
    public MyWindow(Frame padre){
        //Se invoca un constructor de la clase padre
        super(padre);
        //se da un tamaño a la nueva ventana sin bordes "window"
        this.setSize(300,200);
        // se otorga la posicon respecto a la pantalla
        this.setLocation(400,200);
        // ahora se añaden algunos objetos
        Panel p = new Panel();
        p.setBackground(new Color(0,0,255));
        JLabel lb = new JLabel("<html>Hola Mundo<br>Esta es una ventana sin bordes<br>desde un applet</html>");
        lb.setForeground(new Color(0,255,0));
        p.add(lb);
        // ahora estos objetos se añaden al objeto window
        add("Center",p);
    }
}

Para llamar a esta clase desde un applet:


Frame miFrame = new Frame();
MyWindow m = new MyWindow(miFrame);
m.show(); 

El video para una mejor comprension de lo que se intenta lograr

Y no podia faltar el codigo fuente.
Click para descargar

continue reading

5/1/10

Primer applet en netbeans - Video

JAN29


Esta es la continuacion de otro tuto que hize sobre applets en netbeans, pero para que este sea mucho mas entendible, que mejor que un video, la aplicacion a desarrollar es mas que trivial, pero el objetivo del tuto no es crear un applet complejo sino la creacion de un applet desde una interfaz grafica.



continue reading

28/12/09

Primer applet en netbeans

JAN29


Segun santa wikipedia un applet se define como un componente de una aplicación que se ejecuta en el contexto de otro programa, por ejemplo un navegador web. El applet debe ejecutarse en un contenedor, que lo proporciona un programa anfitrión, mediante un plugin, o en aplicaciones como teléfonos móviles que soportan el modelo de programación por applets.

A diferencia de un programa, un applet no puede ejecutarse de manera independiente, ofrece información gráfica y a veces interactúa con el usuario, típicamente carece de sesión y tiene privilegios de seguridad restringidos. Un applet normalmente lleva a cabo una función muy específica que carece de uso independiente.

Un Java applet es un código JAVA que carece de un método main, por eso se utiliza principalmente para el trabajo de páginas web, ya que es un pequeño programa que es utilizado en una página HTML y representado por una pequeña pantalla gráfica dentro de ésta

Creando el applet.
1. Crea un nuevo proyecto en netbeans FILE - NEW PROJECT.

2. Dale un nombre, para este ejemplo "applet1"

3. Al crear el nuevo proyecto, por defecto te crea la clase "main.java", debes eliminar esta clase ya que no nos sirve para el applet.
4. Crea una nueva clase, llamala "miapplet.java". Debes tener algo como esto en el proyecto

5.El codigo correspondiente para la clase "miapplet.java", es el siguiente:

package applet1;
import java.awt.*;
import java.applet.*;
/**
 * @web http://jc-mouse.blogspot.com/
 * @author Mouse
 */
public class miapplet extends Applet {
    
    @Override
    public void paint(Graphics g) {
        g.setColor( Color.BLUE );        
        Font f = new Font( "TimesRoman",Font.BOLD, 36);
        g.setFont(f);
        g.drawString("Hola Mundo",40,50);
        g.drawOval(100, 80, 100, 100);
        g.setColor( Color.black );
        g.drawRect(150, 70, 60, 60);
        g.setColor( Color.red );
        g.fillRect(150, 85, 35, 140);
        g.setColor(Color.GREEN);        
        g.fillOval(80, 70, 60, 70);        
    }    
}


Esta clase lo que hace es dibujar en pantalla el clasico "Hola mundo" ademas de dibujar algunas formas geometricas.
6. Ahora para ejecutar el applet, al no tener un main que lance la aplicacion, nos saldra un mensaje "No main classes found" por lo cual tampoco generara los .class que nos interesa, para esto, en ves de presionar F6, dirigete al proyecto y realiza un clic derecho sobre el proyecto y elige la opcion Clean and Build, asi no genera los .class que necesitamos.


Para ejecutar el applet en el appletviewer, clic derecho sobre la clase "miapplet" y elige la opcion "Run File"


el resultado en el appletviewer

Ademas hay que notar que en la pestaña Files, nos construye automaticamente el archivo HTML, el cual nos sirve para poder ver el applet desde el navegador. Para ello clic derecho sobre el archivo html y elegir la opcion VIEW


continue reading

Post recomendado