Java | DevTroce.com

Post Etiquetado en ‘Java’

  1. Cambiar la apariencia de las aplicaciones hechas en Java – Swing

    Septiembre 1, 2010. Dejanos el Primer Comentario..

    Desde que conocí el desarrollo de aplicaciones Desktop con Java - hace un par de años atrás – me pareció que tiene una interfaz gráfica de usuario pobre y fea. La apariencia a Metal da un aspecto muy rígido, incluso más feo al que tenía Windows 95 en la época (Eso que estoy hablando de Swing porque si consideramos AWT)

    Por suerte esto quedó remediado desde el update 10 de la versión 6 de Java (algo tarde pero lo vale), incluye lo que se llama Feel & Look lo que nos permite cambiar de apariencia según nuestro gusto. Esto podemos hacerlo editando la configuración del JRE que tenemos instalado, pero no lo mostraré porque estoy convencido que las aplicaciones que creamos son para el usuario final y a ellos no vamos a exigirles que entren a configurar su Runtime manualmente, no?

    Así que haremos algo más interesante que eso, y veremos como setear la configuración visual para la App Continúa Leyendo Cambiar la apariencia de las aplicaciones hechas en Java – Swing

  2. Programación Orientada a Objetos: Clases y Objetos

    Agosto 28, 2010. Dejanos el Primer Comentario..

    Desde la universidad y el trabajo he notado constantemente que los conceptos del paradigma de la Programación Orientada a Objetos hace temblar hasta al mas experimentado programador tradicional, me parecen que no son difíciles de comprender pero es un poco duro masticarlos ya que nos hacen cambiar de manera radical nuestra manera de pensar en código, por eso decidí escribir un tutorial entregados en varios artículos, explicando los conceptos de este paradigma.

    En Internet encontrarán miles de guías, tutoriales, libros, blog, foros que explican estos conceptos a su manera. He llegado en conclusión que las personas por algún motivos sólo les llega la explicación de algunos de éstos autores y no todos (como me paso a mí y a mis compañeros), espero poder llegar a explicar y dar a entender estas ideas. Para facilitar la comprensión, en el tutorial escribiré ejemplos prácticos en 2 lenguajes distintos: Java y Visual Basic. Continúa Leyendo Programación Orientada a Objetos: Clases y Objetos

  3. Integrar SubVersion con Eclipse [Subclipse]

    Agosto 6, 2010. Dejanos el Primer Comentario..

    Anteriormente les mostraba como instalar un servidor de SubVersion sobre Windows, (eso me recuerda que aun le debo a un usuario el tutorial de instalación sobre GNU/Linux) y en ésta entrega veremos como instalar en el lado cliente, si es que desarrollado en Java con el IDE Eclipse.

    Para ello vamos valernos del plugin free, que nos ofrecen la gente de Tigris.org, llamado Subclipse, el mismo se integrará a nuestro IDE y nos facilitará la vida un montón. Continúa Leyendo Integrar SubVersion con Eclipse [Subclipse]

  4. Leer ficheros .CSV con Java

    Agosto 4, 2010. Dejanos el Primer Comentario..

    Leer ficheros .CSV son indispensables desde tiempos antiguos para la informática, ya que es uno de los modos más standard para almacenar registros y transportarlos, o migrarlos entre plataformas incompatibles entre sí.

    Aquí en devtroce, ya hemos visto como trabajar con éste tipo de archivos en otros artículos: SQL Server, MySQL, Delphi. Ya que Java nos ofrece la ventaja de la multiplataformidad, para ello necesitaremos una librería externa que pueden descargarla aquí. Siempre si el motor ofrece la opción de importar y exportar directamente a este formato Continúa Leyendo Leer ficheros .CSV con Java

  5. Copiar ficheros y Directorios con Java

    Junio 30, 2010. Dejanos el Primer Comentario..

    Trabajar con los ficheros del disco en Java es muy sencillo realmente, y como saben ya al ser multiplataforma un único código funcionará para cualquier sistema operativo que estemos usando.

    Con el código que veremos podremos copiar los ficheros o archivos que querramos incluso, directorios completos, véanlo Continúa Leyendo Copiar ficheros y Directorios con Java

  6. Subir ficheros al servidor con JSP

    Junio 28, 2010. Dejanos el Primer Comentario..

    Una de las opciones más utilizadas en las aplicaciones web son el upload de ficheros de cualquier tipo, hacerlo con JSP es lo que veremos hoy, para que desde la PC cliente lo subamos al servidor y de ahí hagamos con el lo que querramos.

    Necesitaremos agregar 2 librerías para ellos a nuestro proyecto: commons-io y commoms-fileupload, yo lo desplegaré sobre Apache Tomcat, aunque ustedes pueden cambiar de servidor si así lo quieren. Continúa Leyendo Subir ficheros al servidor con JSP

  7. Comprimir y Descomprir archivos ZIP con Java

    Junio 25, 2010. Dejanos el Primer Comentario..

    Es posible que querramos tener nuestro propio programa compresor de ficheros multiplataforma para utilizarlo, para ello podemos cumplir con el cometido gracias a Java y un poco de código.

    El formato más estándar para hacerlo es el .ZIP (aunque no sea el de mejor compresión), para ellos crearemos una clase que reciba el nombre de los ficheros a crear y a zippear. Continúa Leyendo Comprimir y Descomprir archivos ZIP con Java

  8. Setear parametros con valores nulos en Java

    Junio 7, 2010. Dejanos el Primer Comentario..

    Muchas veces en nuestra base de datos tenemos procedimientos almacenad0s que reciben parámetros, y alguno de éstos debe ser enviado como nulo (Null/NullDB). En java ya sea que estemos utilizando un CallableStatement o PrepareStatement podemos enviar de un modo bastante elegante.

    Tradicionalemente enviamos de este modo los parametros:

    PreparedStatement ps = conn.prepareStatement("{ call NuestroSP (?, ?) }");
    ps.setInt(1, 3);
    ps.setString(1, "devtroce");
    

    Ahora si deseamos enviar el primer parámetro con valor nulo, podemos hacer del siguiente Continúa Leyendo Setear parametros con valores nulos en Java

  9. Capturar Output de los Procedimientos Almacenados de SQL Server con Java

    Mayo 30, 2010. 4 Comentarios.

    A parte de un conjunto de datos que puede devolver un Stored Procedure en SQL Server, también podemos hacer que ellos devuelvan uno o varios valores escalares, un caso tipico es cuando insertamos un registro y la tabla tenia una PK Identity, si queremos recuperar esa clave podemos usar este mecanismo, aunque no necesariamente se reduce a esa posibilidad, con un poco de imaginación podemos darle usos en otras situaciones. El ejemplo que muestro esta construido con SQL Server, pero es funcional con otros motores que manejan el retorno de valores escalares en sus procedimientos almacenados..

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    CREATE PROCEDURE InsCliente
       @IdCliente INT OUTPUT,
       @Nombre VARCHAR(25),
       @Ruc VARCHAR(25)
    AS
    BEGIN
       -- Insertamos un registro
       INSERT INTO Cliente VALUES (@Nombre, @Ruc);
       -- Recuperamos el Id que se genero
       SELECT @IdCliente = @@Identity;
    END

    Tomando en cuenta este procedimiento que Continúa Leyendo Capturar Output de los Procedimientos Almacenados de SQL Server con Java

  10. Cargar datos de una base de datos con JSP

    Abril 24, 2010. Dejanos el Primer Comentario..

    Hoy escribiremos por primera vez sobre JSP, Java Server Page. La evolución de los Servelts de Java, la cual se diferencia de su antecesor que ya no necesita ser compilado antes de deployarlo, sino este proceso se realiza por el servidor cuando el usuario lo solicita.

    Trabajaremos con una base de datos MySQL, ya que es la más popular hasta hoy día para la plataforma web, de igual modo el ejemplo servirá para otros motores, solo deberíamos cambiar la capa de conexión por otra.

    Trabajar con JSP y Netbeans es mucho más sencillo que con eclipse pero de igual modo lo haremos con este ultimo, personalmente he utilizado la versión Galileo para el ejemplo.

    El ejemplo como siempre será lo más sencillo posible, en la BD necesitaremos crear una tabla básica de usuarios, que tengan nombres, los cuales mostraremos un listado de los mismos dentro de un Table HTML.

    Una vez creado ésta tabla, que doy por hecho que lo pueden hacer, procederemos a crear nuestro proyecto Web. Una vez abierto nuestro IDE, buscaremos en el menú:

    Archivo --> Nuevo --> Dinamic Web Proyect

    Alli seteamos la configuración de desarollo, le colocamos el n0mbre al proyecto, yo le llamado JSPTroce, la versión del modulo que puede ser sin problemas el 2.4 o 2.5.

    Siguiente --> Siguiente --> Finalizar

    Una vez hecho esto, necesitaremos el driver JDBC para conectarnos a MySQL, la cual pueden descargar desde el sitio oficial. Más adelante también necesitaremos tener instalado el servidor o contenedor Web Apache Tomcat, preferentemente la versión 6, aunque debería funcionar sin ningún problema en la 5.5 el mismo lo descargan de aqui.

    Una vez instalado el servidor, podemos copiar Continúa Leyendo Cargar datos de una base de datos con JSP

  11. Crear un Timer en Java

    Abril 12, 2010. Dejanos el Primer Comentario..

    En Java a diferencia de otros lenguajes no tenemos un objeto timer tan fácil de manipular, existe por suerte la clase que nos ayudará pero la implementación es un tanto más larga. Debemos crear manualmente las tareas a ser asignadas, los métodos de inicio, detención y reinicio.

    En éste ejemplo sencillo mostraré como imprimir simplemente el tiempo que va pasando con el timer. Pero ustedes podrán agregar más código en la clase llamada MiTarea, incluso podrán crear varias Continúa Leyendo Crear un Timer en Java

  12. Verificar y Crear directorio con Java

    Marzo 26, 2010. 2 Comentarios.

    La creación de directorios o carpetas con Java es una tarea realmente muy sencilla, todo es cuestión de utilizar el objeto File del paquete java.io, el mismo nos ofrece métodos para crearlos y verificar su existencia incluso. Veamos primeramente como crearlo: Continúa Leyendo Verificar y Crear directorio con Java

  13. Activar/Desactivar componentes de un container en java

    Marzo 25, 2010. Dejanos el Primer Comentario..

    Buenas a todos, con este pequeño metodo podemos activar o desactivar componentes de un container que podria ser un JPanel por ejemplo, que por lo general sera un JPanel de todas formas, aqui va el codigo, en mi caso pregunto si el componente es un JButton, pero podria ser un JTextField, tambien podrian ser mas especificos con el primer parametro del metodo, podrian cambiar por JPanel, yo use Container por que es mas generico ,puesto que un JPanel siempre o por lo general estara sobre un objeto Container, este metodo pueden llamar desde el windowOpened(), y pasarle false si es que preguntan por objetos JTextFields(de esa manera al abrirse la ventana apareceran Continúa Leyendo Activar/Desactivar componentes de un container en java

  14. Ejecutar Bash desde Java y Capturar Retorno en un Buffer

    Marzo 25, 2010. Dejanos el Primer Comentario..

    Creo que esto no es algo muy común para desarrollar, pero extrañamente lo necesite en el trabajo, supongo que a más de uno le servirá. Básicamente el código lo que hace es llamar a Bash de GNU/Linux, y permite ejecutar comandos nativos del Sistema Operativo, además de capturar el retorno de la ejecución del comando en un buffer e imprimirlo en pantalla.

    Es sabido que Java es de ejecución Multiplataforma, pero en este caso sólo funcionará sobre cualquier distro GNU/Linux que tenga instalado shell bash, por lo tanto incluyo una pequeña validación del mismo para evitar una excepción descontrolada si se ejecuta en otras plataformas. Continúa Leyendo Ejecutar Bash desde Java y Capturar Retorno en un Buffer

  15. Codificar en Base64 con Java

    Febrero 15, 2010. Dejanos el Primer Comentario..

    Si necesitamos en cualquier ocasión codificar los ficheros o texto en Base64 tenemos muchas opciones para hacerlo, una de ellas la alternativa opensource mantenida por Christian d’Heureuse. En realidad nos ofrece muchas alternativas, es decir, hacer lo mismo en varios lenguajes, Java, SQL Server, C, C++, entre otros.. También nos ofrece otros tipos de soluciones si quieren pasar a ver.

    La clase es simple, aqui os dejo: Continúa Leyendo Codificar en Base64 con Java

  16. Encriptar / Desencriptar Texto en S-DES con Java

    Febrero 12, 2010. Dejanos el Primer Comentario..

    Ya habíamos visto anteriormente como encriptar ficheros con Java en AES-256, el caso de hoy será semejante, a diferencia que no encriptará ficheros completos, sino texto plano. El ejemplo es sencillo de utilizar, necesitamos la palabra a encriptar, la llave, que es una palabra secreta definida por nosotros, cuanto mas compleja ésta, más difícil violar el encriptado a fuerza bruta, les recomiendo que tenga una extensión de 16 o 32 caracteres, y un booleano que sirve para determinar la operación a realizar, y encriptar o desencriptar.

    Este código se tiene que tener cuidado para utilizarlo, ya que si lo encriptado se hizo en un sistema de codificación y el desencriptado en otro, no funcionará, ejemplo: Windows utiliza ASCII para éste efecto y GNU/Linux Unicode, así que lo que fue encriptado en Windows no se podrá desencriptar en GNU/Linux. Utilícenlo únicamente si siempre será en el Continúa Leyendo Encriptar / Desencriptar Texto en S-DES con Java

  17. Capturar texto por consola en Java en modo Password

    Febrero 5, 2010. Dejanos el Primer Comentario..

    Si en un momento especifico necesitáramos hacer una aplicación en Java por consola que no muestre lo estamos tipeando, el caso típico del ingreso de un password, e incluso cualquier otro dato delicado que no queremos que lo lean otras personas.

    A partir de la versión 6 de Java podemos hacer uso del objeto Console, el cual nos ofrece un metodo readPassword que no hace eco en comparación con readLine(), veamos un ejemplo: Continúa Leyendo Capturar texto por consola en Java en modo Password

  18. Instalar Java Runtime Environment (JRE) en Ubuntu Server Manualmente

    Febrero 3, 2010. 2 Comentarios.

    Precisamente hoy tuve que instalar el Java Runtime Environment (JRE) en Ubuntu Server 8.04, ya lo había hecho en otras distribuciones como openSuSE y Fedora, en donde ejecutar el binario que nos ofrece hoy día SUN Microsystems Oracle era suficiente. El mismo podemos descargarlo desde aquí.

    Mucha diferencia realmente no hay, tan sólo que las variables de entorno debemos setearlas manualmente. Se que es sencillo, pero a más de uno servirá estos pasos.

    Paso 1

    Descargamos la versión binaria (no la rpm que sirve para otras distros) del enlace que he colocado arriba.

    Paso 2

    Creamos una carpeta en donde tendremos nuestro JRE, puede ser dentro de /opt o /usr ya que en ambos todos los usuarios por omisión tienen permisos.

    1
    
    sudo mkdir /opt/java

    Paso 3

    Suponiendo que descargamos Continúa Leyendo Instalar Java Runtime Environment (JRE) en Ubuntu Server Manualmente

  19. Leer datos de una base de datos con java

    Febrero 1, 2010. Dejanos el Primer Comentario..

    Hace tiempo vimos como ejecutar un procedimiento almacenado desde Java en una base de datos, en esta oportunidad veremos algo semejante, cargaremos datos de la base de datos a nuestra aplicación con JDBC mediando un ResultSet. Este ejemplo nos servirá para cargar nuestros formularios ya sea de escritorio, consola o web mismo si no usamos ningún framework que nos ayude.

    Para este caso en sí la conexión a la BD la hacemos a Firebird, pero es funcional con cualquier otro motor siempre y cuando cambiemos la cadena de conexión y el driver JDBC. Continúa Leyendo Leer datos de una base de datos con java

  20. Ejecutar procedimiento almacenado desde Java (JDBC)

    Enero 17, 2010. 3 Comentarios.

    En Java invocar a un procedimiento almacenado que no devuelve valores es bastante sencillo hacerlo desde JDBC, funciona de la misma manera que con cualquier base de datos, solo es cuestión de cambiar la cadena de conexión y el driver, el resto va igual.

    En el ejemplo veremos con MySQL, pero como vengo diciendo cambien los 2 factores y podrán usarlo con cualquier otro motor de base de datos. Continúa Leyendo Ejecutar procedimiento almacenado desde Java (JDBC)

  21. Desplegar ASP.Net en Apache Tomcat sobre GNU/Linux y SQL Server

    Enero 11, 2010. 8 Comentarios.

    Éste probablemente sea uno de los post mas raros que escribiré, todo programador cristiano sabe que ASP.net se despliega oficialmente sobre el servidor web de Microsoft IIS, necesitando necesariamente un servidor Windows. Hoy haremos lo que muchos desean, lo que muchos dicen ser imposible, o lo que muchos solamente quieren experimentar, haremos una mini aplicación escrita en C#.net y ASP.net, que se conecte a un servidor de base de datos SQL Server, desplegandolo sobre Apache Tomcat en GNU/Linux.

    Existen mods del proyecto mono para instalar sobre Apache que permiten correr ASP.net sobre él, pero no es precisamente eso lo que usaremos, sino algo más extravagante.

    ¿Y cómo se supone que haremos esto? La empresa Mainsoft (apoyado por Novell) ofrece un producto que forma parte de una comunidad, con licencia openSource, llamado Continúa Leyendo Desplegar ASP.Net en Apache Tomcat sobre GNU/Linux y SQL Server

  22. Obtener el Nombre, Versión, Arquitectura y otras propiedades del Sistema Operativo con Java

    Enero 4, 2010. Dejanos el Primer Comentario..

    Si necesitamos crear una aplicación que sabemos que funcionará en varias plataformas realmente a la hora de implementarlo con Java, quizás necesitemos obtener algunos datos del Sistema Operativo, tales como su nombre, versión, arquitectura, directorio temporal, el nombre del usuario que está activo, los separadores del sistema ya sean de linea, ficheros o path, todos estos datos podemos saberlos con tan sólo éstas líneas de código aquí expuestas.. Continúa Leyendo Obtener el Nombre, Versión, Arquitectura y otras propiedades del Sistema Operativo con Java

  23. Propagar la excepción con Java

    Diciembre 27, 2009. Dejanos el Primer Comentario..

    Normalmente cuando trajamos con la orientación a objetos manejamos muchas clases unas que llaman a otras, o que se heredan, muchos programadores cometen el pecado de tratar las excepciones en las clases mas “bajas“, siendo bastante mala práctica, ¿por qué lo es? simple, que pasaría si quisiéramos personalizar el mensaje de la interfaz, o tratarla de otro modo, o menos común pero no querer mostrar el mensaje de error, no podríamos hacer esto si trabajásemos así. Lo correcto es que las clases que no estarán directamente ligadas a la interfaz traten el error en el único sentido de controlarlas para evitar la inestabilidad del programa, pero que a su vez todos los objetos que le invoque puedan también enterarse que ocurrió una excepción en algún punto, por lo tanto necesitaremos expandir esa excepción, de clase en clase hasta llegar a la capa final de interfaz. Continúa Leyendo Propagar la excepción con Java

  24. Autenticarse contra un Web Service con Autenticación con Java y Visual Basic

    Diciembre 21, 2009. Dejanos el Primer Comentario..

    Hace unos días una de las programadoras que más admiro me comentaba que necesitaba conectarse desde Java a un Web Service construido en .Net con autenticación, aunque este ejemplo no sólo sirve para WS server hechos con esta tecnología, igualmente servirá si fue creado con java, delphi, u otro lenguaje. Me pareció una tarea interesante que es relativamente sencilla de hacerla. También me di cuenta que en la Web no circula mucha información sobre esto, por eso aprovecho para hacer un post sobre el tema :P

    Bueno, el ejemplo lo mostraré desde dos clientes, uno hecho con Java y otro con Visual Basic .Net

    En el caso de Java necesitaremos crear una clase extra para usarlo como credencial de red y va así Continúa Leyendo Autenticarse contra un Web Service con Autenticación con Java y Visual Basic

  25. Crear un Web Service con Java y consumirlo con .Net

    Diciembre 14, 2009. Dejanos el Primer Comentario..

    Normalmente cuando recurrimos al uso de los Web Services lo creamos tanto del lado servidor como cliente en el mismo lenguaje, pero no siempre es así, varios pueden ser estos motivos, trabajamos con otra empresa que desarrolla en otro lenguaje que el nuestro, o queremos mezclar dos sistemas ya existentes sin construir todo de nuevo, incluso muchos otros motivos inimaginables. Hoy haremos un WS server construido con Java y NetBeans bastante sencillo, que recibirá 1 parámetro de fecha retornará la edad, esto será consumido desde una aplicación cliente construida en VB.net. Primeramente abrimos nuestro IDE y creamos un proyecto nuevo Java Web, de tipo Web Application.. Continúa Leyendo Crear un Web Service con Java y consumirlo con .Net

  26. Ejecutar comandos Shell (SSH) con nuestra aplicación en Java

    Diciembre 10, 2009. Un Comentario.

    Anteriormente vimos como descargar ficheros por SFTP, ahora veremos algo semejante. Como podemos iniciar sesión y ejecutar comando Shell en otra PC gracias al protocolo SSH (Secure SHell). Así como muchos ya lo habíamos hecho con el clásico PuTTY para Windows. Para esto del lado servidor debe estar habilitada esta opción o no funcionará, podemos ver en otro tópico más adelante como instalarlo.

    Así como ya lo venia diciendo en el ejemplo anterior, nuevamente vamos a necesitar de la librería JSch. Continúa Leyendo Ejecutar comandos Shell (SSH) con nuestra aplicación en Java

  27. Transferir ficheros por SFTP con Java

    Diciembre 9, 2009. Un Comentario.

    No es muy común que nuestras aplicaciones necesiten hacer descargas o subidas de ficheros a otras máquinas, pero si llegamos a necesitarlo, podemos usar el protocolo SFTP (Secure File Transfer Protocol). Con este protocolo agregamos un nivel de seguridad comparado con el típico FTP.

    Para lograr esto con Java, necesitamos de una librería externa que no viene incluido en el JDK, que nos proveerá JSch (Java Secure Channel). Pueden descargar la última versión de fichero aquí, luego tenemos que agregar con librería .jar externa en nuestro IDE, ya sea eclipse o NetBeans. Continúa Leyendo Transferir ficheros por SFTP con Java

  28. Leer, Guardar, Eliminar Ficheros de texto con Java

    Diciembre 7, 2009. Dejanos el Primer Comentario..

    Con Java, operar archivos de texto es muy sencillo, disponemos ya en el JDK las librerías necesarias para hacerlo. En este caso trabajaremos con un fichero llamado “dbxconnections.ini” que al fin y al cabo es un simple conjunto de texto plano, con la extension típica .txt cambiada. En muchas implementaciones este fichero se utiliza para almacenar parametros de conexiones a bases de datos, aunque no recomiendo normalmente ese uso. Aunque el ejemplo se base en eso no significa que no podamos hacer modificaciones menores para que almacene o lea otro tipo de contenido y formato.

    También la clase incluirá un método para eliminar ficheros previamente almacenados, que obviamente puede ser aplicado a cualquier tipo y no solamente a ficheros de texto. Continúa Leyendo Leer, Guardar, Eliminar Ficheros de texto con Java

  29. Encriptar / Desencriptar con Java en AES-256

    Diciembre 5, 2009. Dejanos el Primer Comentario..

    Muchas veces necesitamos encriptar o desencriptar ficheros con nuestras aplicaciones, siempre el dilema es a la hora de elegir cual método utilizar para esto. Hoy día uno de los más seguros y complejos, pero sencillos de implementar es AES (Advanced Encryptation Standard) tambien conocido en la práctica como el algoritmo Rijndael (aunque estrictamente no son el mismo algoritmo) el cual “reemplazo” a su predecesor DES, y está catalogado entre los algoritmos de criptografía simétrica. AES tiene un tamaño de bloque fijo de 128 bits y tamaños de llave de 128, 192 ó 256 bits, en este caso mostraré un ejemplo de como implementar esto en Java con 256 bits.

    Continúa Leyendo Encriptar / Desencriptar con Java en AES-256