jueves, 21 de marzo de 2013

Notificaciones al estilo Avira Antivirus desarrollado en java

3/21/2013


Eldíade ayer me pidieron un ejemplo de notificaciones y justopensépor que no hacerlo como muestra las notificaciones Avira las cuales son pantallas emergentes que suben desde la barra de herramienta. para esto tenemos queconstruirun JDialog que es ideal para este efecto ya que es un ventana modal al ser modal no me ancla el icono de la ventana en la barra de tareas.

Construcción
para este efecto primero debemos obtener los valores de laresoluciónde la pantalla es decir su ancho y alto esto lo hacemos con la claseGraphicsEnvironment esta clase me permite tener los recursos de pantallas locales o impresoras y junto almétodogetLocalGraphicsEnvironment()que me retorna los valoresgráficosde un equipo local.

private  Rectangle inicializarRectangulo() {
GraphicsEnvironment entorno = GraphicsEnvironment.getLocalGraphicsEnvironment();
escritorio = entorno.getMaximumWindowBounds();
return escritorio;
}


este método nos va a retornar los valores máximos de la pantalla,ahora necesitaremos crear dosmétodosmas paraobtenerel ancho y el alto de la pantalla

      
/**********ANCHO***********/
public int getAncho()
{
bordes=inicializarRectangulo();
return bordes.width;
}
/**********ALTO**************/
public int getAlto()
{
bordes=inicializarRectangulo();
return bordes.height;
}


ahora existen algunas formas de obtener la resolución de la pantalla como por ejemplo usando la clase Toolkit.getDefaultToolkit().getScreenSize().

Efecto de desplazamiento(Subir y Bajar)
para el efecto necesitaremosconstruiruna claseThread la cual merecibirádos valores la clase notificador que es elJDialog y un valorbooleano que sera que determina cuando subir y cuando bajar,esta clase notificador me enviara los valores ancho y alto de la pantalla y realizando unaoperaciónsimple(una resta) con las dimensiones(Tamaño) del JDialog elúnicovalor que me interesa es el alto(getHeight()) del JDialog el cual se restara con elmétodogetAlto() que contiene el valor del alto de la pantalla de esta forma podre incrementar y decrementar los valores haciendo que el JDialog suba y baje utilizando elmétodopara posicionar el JDialog que essetLocation(ancho, alto);

public void run(){
while(arrancar){
if(sube_baja==true)
{
cont++;
if(cont=flota.getHeight()){
valor_actual=flota.getAlto()-cont;
flota.setLocation(flota.getAncho()-flota.getWidth(),valor_actual);
flota.setVisible(true);
}
else
{
arrancar=false;
cont=0;
}
}
else
{
cont++;
valor_final=(flota.getHeight()+flota.getHeight()/2)+cont;
if(valor_final=flota.getAlto()){
flota.setLocation(flota.getAncho()-flota.getWidth(), valor_final);
flota.setVisible(true);
}
else
{
arrancar=false;
cont=0;
flota.dispose();
}

}

flota.repaint();
try {
Thread.sleep(2);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
/*fin while*/
}


En la proxima les enseñare el mismo efecto pero mas elaborado.
DESCARGAR

miércoles, 20 de marzo de 2013

Descargate este Video tutorial Gestión de base de datos MYSQL

3/20/2013


El lenguaje SQL es un lenguaje estándar de manejo de bases de datos y que se usa en cualquier entorno. MySQL es un sistema de gestión de bases de datos basado en el lenguaje SQL y en este curso video2brainaprenderásde forma práctica y directa a usarlo correctamente.

El objetivo de este curso video2brain es introducir al alumno en el uso deMySQL de una manera completamente sencilla. en este curso usaras el entornophpMyAdmin: una aplicación programada en php (no es necesario conocer php, aunque si recomendable), que nos permite gestionar(crear, eliminar, actualizar, buscar, filtrar, etc)tambiénaprenderása usar MySQL de una manera visual, gráfica e intuitiva, a través de formularios en pantalla.



Contraseña solo post del 2012: javafaceContraseña Actual: www.javaface-elblogdelprogramador.com

lunes, 18 de marzo de 2013

JF-AnalyzerDisk(Analizador de disco) desarrollado en java

3/18/2013



Hoy les presento algo nuevo desarrollado netamente en java por mi,esta es una parte de unaaplicaciónque cree hacealgúntiempo para darle mantenimiento a la PC algoasícomo el Tuneup,el cual se llamada Fast-Madc y que espero seguir compartiendo partes de laaplicación.

¿Pero como Analizamos el Disco duro desde Java?
lo primero que se me vino a la mente para tan dura tarea es trabajar con las APIS de windows y para eso existe lalibreríaJNA(libreríanativa de java) pero como no tenia ni idea de como funciona los apis de windows y obviamente el trabajo con ellos iba hacer complicado, entonces para ahorrar trabajodecidíir por otro camino que es utilizar los comandos del DOS, como por ejemplo:

CHKDSK:se encarga de revisar el discos duros y dependiendo de su formato (NTFS o FAT) revisa la integridad de los archivos, la integridad del espacio en blanco, la de los indices, etc. para encontrar errores y corregirlos.
y utilizando los siguientes modificadores como:

/r(ComprobaciónNormal): Encuentra los sectores defectuosos y recupera la información que sea legible. El disco debe estar bloqueado.

/f (ComprobaciónIntensiva):Corrige los errores del disco. El disco debe estar bloqueado. Si chkdsk no consigue bloquear la unidad, aparecerá un mensaje que le preguntará si desea comprobar la unidad la próxima vez que reinicie el equipo.

una vez entendido que hace este comando y sus modificadores es tratar de ejecutar y controlar sus acciones desde java¿Pero como?

Con la claseRuntime
esta clase me permite ejecutar cualquier tipo de comando o programa externo que se desee llamar desde java.

El proceso del ComandoCHKDSK
para llevar este proceso y controlarlo necesito de un hilo(Thread), con el hilo podre ejecutar el comando y obtener respuesta de ello por medio de unBufferedReader que merecibirá los datos o las lineas deejecución,con estas lineas es donde podre controlar o hacer funcionarciertos objetos como el JProgressBar que me indicara el porcentaje del proceso en ejecución.

public  HiloEscritor(){
try{
String[] comando=new String[5];
comando[0]="CMD";
comando[1]="/C";
comando[2]="CHKDSK";
comando[3]=uni;
comando[4]=niv;
proc=Runtime.getRuntime().exec(comando);//comprobacion normal
br=new BufferedReader(new InputStreamReader(proc.getInputStream()));
bre=new BufferedReader(new InputStreamReader(proc.getErrorStream()));

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


Ahora esto solo funcionara cuando seescojalaopción comprobaciónnormal,encomprobaciónintensivano se puede lograr este proceso ya que mepidelaopciónreiniciar y nopodríapresentar esto por pantalla por quetendríaque teclearciertasopciones para llevar el proceso acabo, entonces lo que se meocurrióes crear un archivo por lotes otambiénllamado archivo .Bat y ejecutar este en tiempo deejecucióny que el usuario realice el proceso.

public static void crear()
{
FileWriter out1;
String dir1="comprobador\\";
String escri0=":inicio";
String escri1="@echo off";
String escri2="rem este programa comprueba el tamaño del archivo de registro, comprueba los archivos, índices y comprueba descriptores de seguridad.";
String escri3="rem este programa se llama comprueba.bat";
String escri4="echo Se procederá a la comprobación.";
String escri5="pause";
String escri6="chkdsk"+" "+"C:"+" "+"/f";
String escri7=":fin";
String escri8="echo Adiós";
String escri9="exit";
File archivo1 = new File(dir1+"OD.bat");
File archivoim = new File(dir1);
File archivoimg1 = new File(dir1);
if (archivo1.exists()){
archivo1.delete();
}
if (archivoim.exists()){
if(archivoimg1.exists() && !escri1.equals("") && !escri1.equals(" ")){
try{
out1 = new FileWriter(archivo1.getAbsolutePath(), true);
out1.write( escri0+("\r\n")+escri1+("\r\n")+escri2+("\r\n"));
out1.write( escri3+("\r\n")+escri4+("\r\n")+escri5+("\r\n"));
out1.write( escri6+("\r\n")+escri7+("\r\n")+escri8+("\r\n")+escri9+("\r\n"));
out1.close();
}
catch (Exception ev){}

}
}
}


de estafunciónforma creo mi archivo por lotes añadiendo el modificador /f, entonces este archivo deberá ser creado en tiempo de ejecución solo si el usuarioescogiólaopcióncomprobación intensiva , luego de ello sera llamado y el usuariodeberáde ingresar laopciónque le pide el bat.


luego que de haberterminadoel proceso en batpidieraque se reinicie el sistema entoncesaquíentra enacciónla clase reiniciar_pc, donde se mostrara un dialogo con un conteo de 5 segundos para poder cancelar laacciónde reiniciar esto si el usuario lo quiere caso contrario luego de culminar los 5 segundos entrara el proceso de reiniciar de la pc.


ahora lo ideal seria detectar el cierre del archivo por lotes y luego llamar a la clasereiniciar_pcpero asta ay no pude llegar.
Laaplicaciónes multilenguaje por el momento tiene las opciones Español y Ingles , espero puedan mejorar laaplicacióny corregirsiervascosas si llegaran a mejorarla y quieren compartirla me la pueden enviar yo con gusto lacompartirécon losdemás , espero les sirva para proyectos futuros.





Contraseña solo post del 2012: javafaceContraseña Actual: www.javaface-elblogdelprogramador.com

sábado, 16 de marzo de 2013

Descargate este video tutorial sobre Node.js (javascript en el lado del servidor 2013)

3/16/2013


Node.js es un framework para trabajar conjavascript, especialmente pensado para el desarrollo fácil de aplicaciones web escalables y que funcionen en tiempo real. Con Node.js podrás crear tu propio servidor y darle un mejor rendimiento que el que tienen servidores de uso general, como Apache. Este curso video2brain,pensado para programadores que quieran sacarle todo el partido a sus aplicaciones de servidor, te enseñará a instalar Node.js, a crear tu primer “Hola mundo” y tu propio servidor optimizado.

José Vicente Carratalá te avanza qué verás en su curso Node.js. javascript en el lado del servidor.

Usando servidores web multipropósito como Apache, cada nueva petición se convierte en un hilo de proceso, por lo que el gasto de memoria se convierte en un problema en el caso de aplicaciones web con concurrencias bastante altas. No es el caso de Node que, por una parte, te permite aprovechar al máximo la programación paralela, y por la otra parte gasta solo una porción de la memoria que usan otros servidores, permitiéndote crear aplicaciones con una mayor concurrencia sin tener que comprometer la estabilidad del servidor.





Contraseña solo post del 2012: javafaceContraseña Actual: www.javaface-elblogdelprogramador.com

viernes, 15 de marzo de 2013

Lector de huellas en java Pack de investigacion

3/15/2013

Hace dos años medecidí a desarrollar unaaplicación en java queinteractuécon un Biometrico(Lector de huellas)hice unainvestigaciónpara empaparme del asunto pero lo que me evito llevar a cabo el proyecto fue que tenia que comprar un lector de huellas deciertamarca ya que no todos vienen con lalibreríapara comunicarse con java lo cual medesalentó pero no quise que todo lo que investigue se perdiera y quedara en mi discoasíque lo comparto con ustedeseste material que con seguridad les va hacer de gran ayuda.

Contenido del Material


  • Guía de instalación del API de programación de Griaule
  • Griaule_Fingerprint_SDK_2009
  • 4 proyectos de lector de huellas(CódigoFuente)
  • 5 referencias web autor el Monillo





Contraseña solo post del 2012: javafaceContraseña Actual: www.javaface-elblogdelprogramador.com

jueves, 14 de marzo de 2013

Descargate este Video tutorial sobre creación de animaciones con HTML5 y Adobe Edge Animate

3/14/2013


Con Adobe Edge Animate podrás diseñar animaciones 2D enHTML5, que son compatibles coniPhone yiPad, y exportarlas para incrustarlas luego en tus libros electrónicos, páginas web o revistas digitales con InDesign CS6. Interactividad, creatividad y HTML5 en una sola herramienta.

Ignacio Lirio te presenta su cursoAnimaciones en HTML5 con Adobe Edge Animate. aprende a realizar animacionesHTML5 para la web del mañana.

En este curso video2brain aprenderas a crear animaciones interactivas 2D utilizando Adobe Edge Animate.
A través de una serie de sencillos ejercicios de los que consta este curso, tendrás la oportunidad de conocer cómo crear escenarios de animación de tamaño fijo o elástico, importar gráficos en varios formatos y darles animación mediante una interfaz de usuario muy intuitiva basada en línea de tiempo.

Además, se mostrará cómo generar interactividad básica conbotones y acciones de tiempo, y cómo jugar con símbolos animados al igual que se hacía con Flash.
Finalmente, se muestra la proyección que tienen estas animaciones con su exportación a diversos formatos para ser utilizadas en el contexto de páginas HTML, libros electrónicos realizados con iBooks Author y Archivos .folio de InDesign CS6.




Contraseña solo post del 2012: javafaceContraseña Actual: www.javaface-elblogdelprogramador.com