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; [...]

6/3/10

[JTextField] Texto al revés en java

JAN29


Respondiendo a una curiosa interrogante, como hacer que en un JTextfield se escriban las letras al revés, me puse a jugar con el codigo en netbeans y aunque honestamente no se para que puede servir semejante aplicacion,  aqui el codigo de como logre esta curiosidad.

Basicamente lo que se necesita es una funcion que invierta un texto, como esta

public String Invertir(String t){
   String tmp="";       
   for (int x=t.length()-1;x>=0;x--)
      tmp = tmp + t.charAt(x);
   return tmp;
}

Esta funcion "Invertir()" es la que hace la mayor parte del trabajo, el resto son eventos de teclado.

El proyecto en netbeans consiste en un JFrom con un JTextField: TEXTO
las variables globales son:
String texto="";
Boolean iskeypress=false;


El evento de teclado que utilice es KeyReleased, que se produce cuando se suelta la tecla presionada


private void TEXTOKeyReleased(java.awt.event.KeyEvent evt) {
    //si se presiono el backspace
        if(evt.getKeyCode()==8){
            //si el jtextfield contiene texto y se presiono y solto la tecla backspace
            if((TEXTO.getText().length()>=0) || (!iskeypress) ){
            //borra el ultimo caracter de la cadena    
             texto = texto.substring(0, texto.length()-1);
             TEXTO.setText(Invertir(texto));
            }
            //sino no borra
       }
       else if((evt.getKeyCode()>=32)&&(evt.getKeyCode()<=126)) {//sino
            //se captura la ultima tecla pulsada y se concatena a la cadena original
            texto = texto + evt.getKeyChar();
            //se invierte la cadena y se coloca de nuevo en el textfield
            TEXTO.setText(Invertir(texto));       
       } else{TEXTO.setText(Invertir(texto));}       
       iskeypress=false;
}           

Tambien interviene el evento KeyPressed, la variable iskeypress nos sirve para saber si la tecla, en este caso "backspace" sigue presionada, si es asi, solamente borrara un caracter de la cadena de texto


private void TEXTOKeyPressed(java.awt.event.KeyEvent evt) {
       // valor a true cuando se sigue presionando la tecla
        iskeypress=true;
    }    

Solo se admiten caracteres del 32 al  126, el resto son ignorados, la tabla ascii de referencia aqui abajo


Como siempre, el codigo fuente, esta por demas comentado, pero por si las dudas, aqui el proyecto completo. hecho con netbeans 6.0

Click para descargar

Post recomendado