Archivo para el ‘Programación’ Category

Interfaz gráfica de usuario con Java

Escrito el 21 de Marzo de 2010 | 1:24 am en POO, Programación | No hay comentarios »

Inicialmente Java tenía una kit de herramientas para crear interfaces gráficas denominada “Abstract Window Toolkit” (AWT).  Simplificando, el funcionamiento de la misma consiste en llamadas a subrutinas del sistema operativo. Por ejemplo, al crear un botón o un cuadro de comprobación se llama a la subrutina correspondiente del S.O. Pero esto puede ser una ventaja o desventaja según se mire, ya que un cuadro de comprobación es distinto en cada sistema operativo. En el fondo, cada elemento tienes sus peculiaridades en cada sistema operativo y, por tanto, AWT sólo contiene los aspectos comunes que pueden ser invocados en cualquier sistema. Otra desventaja no menos importante es que hay desarrolladores a los que les gusta que sus “creaciones” se “vean” igual en cualquier plataforma, esto con AWT no es posible :) .

En estas apareció Swing para solucionar estos “problemas”. ¿La clave? Utiliza Java 2D para invocar subrutinas de bajo nivel en vez de utilizar el módulo de interfaz de usuario de alto nivel del S.O. Es decir, el elemento es el mismo en cualquier plataforma.

Entrar en todos los detalles de una interfaz gráfica nos daría para escribir un libro. Es por eso que sólo quiero hacer una pequeña introducción a los aspectos básicos de la misma.

Leer el resto de la entrada »

Eclipse: instalación y primera clase

Escrito el 6 de Marzo de 2010 | 2:27 pm en DDAW, Programación | 1 Comentario »

Eclipse GalileoCon motivo de la asignatura Diseño y Desarrollo de Arquitecturas Web que este cuatrimestre voy a impartir en modalidad presencial y online he pensado que puede ser interesante hacer una serie de screencast explicando ciertos conceptos o tecnologías incluidos en el temario.

Aquí dejo la primera creación :-) , tiene dos partes por la limitación de espacio en YouTube. ¿Críticas? Todas,  pero sobretodo la falta de calidad en la imagen. No me preocupa mucho en estos dos vídeos ya que están muy comentados y no es muy difícil seguirlos pero… no hay excusa. El próximo irá mejor.

Parte 1: http://www.youtube.com/watch?v=qMvALOI6G7Y

Parte 2: http://www.youtube.com/watch?v=Kwh_VpNZ2-E

También dejo el código fuente de la clase creada. De esta forma podéis verlo ya que en el vídeo queda borroso.  HolaMundo

Rellenar una tabla en Java

Escrito el 12 de Enero de 2010 | 3:09 pm en POO, Programación | No hay comentarios »

Una funcionalidad muy utilizada cuando se desarrollan aplicaciones de gestión es la de formulario maestro-detalle. Un formulario de este tipo realmente está compuesto por dos: maestro y detalle. De tal forma que al introducir los datos de búsqueda en el formulario principal aparecen en el formulario detalle los datos asociados a los primeros.

Por ejemplo, en el formulario principal podemos tener un campo de texto para introducir el DNI y mostrar en el formulario detalle el listado de productos comprados por esa persona.

¿Y como se hace esto en Java? Muy sencillo. Creamos una serie de elementos gráficos que harán las veces de formulario principal (JTextField, JComboBox, etc.) e incluimos debajo de este una tabla donde aparecerán los distintos registros asociados a la búsqueda.

Como no podía ser de otro modo la clase que implementa en Java la tabla es JTable. Mucho hay escrito sobre el manejo de la misma (por ejemplo, aquí, aquí o aquí) por lo que sólo me voy a centrar en cómo “rellenarla” con datos.

Leer el resto de la entrada »

Elementos en un JComboBox

Escrito el 15 de Diciembre de 2009 | 1:58 am en POO, Programación | No hay comentarios »

Una pregunta muy común en los alumnos cuando se inician en la secta Java es cómo “rellenar” de elementos un JComboBox. Si visitamos el API de Java vemos que el método necesario para añadirlos es ‘addItem‘. Siendo la primera tentación pasarle como parámetro un String con el titulo a mostrar. Esto es correcto ya que String, como cualquier clase en Java, hereda de Object y, por tanto, es un parámetro válido.

Pero… si la declaración del método addItem nos indica que podemos pasar por parámetro un objeto de la clase Object (o una subclase de esta, como String), ¿por qué no pasar un objeto de una clase creada por nosotros y, de esta forma, utilizar un JComboBox de forma similar a un Vector, como una colección de objetos?

Por ejemplo, pensemos que tenemos una aplicación que gestiona productos de cualquier tipo y queremos que al seleccionar un producto obtengamos los datos de dicho producto para mostrarlos por pantalla. Lo interesante sería guardar los objetos de la clase Producto dentro de combo y seleccionar el deseado.

La forma de actuar es sencilla… añadir los objetos de Producto en el combo.

Leer el resto de la entrada »

Fichero de propiedades en Java

Escrito el 15 de Diciembre de 2009 | 12:32 am en POO, Programación | No hay comentarios »

Una de las funcionalidades más solicitadas en Java es la utilización de un fichero de propiedades. Este tipo de ficheros se suele utilizar para guardar parámetros de configuración del sistema. Por ejemplo, rutas, nombres de ficheros, mensajes, … Su estructura es:

clave1 = valor1

clave2 = valor2

….

Veámos como podemos acceder fácilmente a cada uno de esos valores.

Leer el resto de la entrada »

Tomcat (VII): Librería de etiquetas JSP

Escrito el 19 de Abril de 2009 | 11:42 pm en DAD, Programación | 7 Comentarios »

TomcatEn esta entrada crearemos nuestra propia librería de etiquetas que defina nueva funcionalidad reutilizable en distintas JSPs.

¿Cómo lo vamos a hacer? Lo primero será definir la etiqueta (nombre, atributos, cuerpo, etc) en un fichero denominado Tag Lib Description (TLD). Después crearemos la clase (o clases) Java que implementa la funcionalidad y configuraremos el fichero web.xml para que la aplicación “conozca” la nueva librería. Finalmente la utilizaremos en una página de prueba.

El ejemplo que seguiremos es el de una etiqueta que muestra el resultado de la operación matemática que se le indique como atributo.

Leer el resto de la entrada »

Tomcat (VI): Directivas JSP y paso de atributos

Escrito el 8 de Abril de 2009 | 10:45 pm en DAD, Programación | 2 Comentarios »

TomcatDespués de hacer una breve introducción a las JSP vamos a trabajar las directivas de páginas y el paso de atributos entre el servlet Control y la JSP. Así que, vamos por partes…

Directivas JSP

Como ya se comentó, una página JSP se “compila” para generar un fichero .java y este, cada vez que se ejecuta, crea la página html deseada. Pero, ¿podemos añadir información “extra” antes de compilar? Evidentemente la respuesta es sí. Y lo haremos mediante el uso de lo que se denomina directiva.

Como no es objetivo de esta entrada explicar una a una todas las directivas, aquí os dejo un enlace donde están todas. Veamos dos ejemplos de uso:

Leer el resto de la entrada »

Sockets en Java

Escrito el 21 de Marzo de 2009 | 10:00 am en DAD, Programación | No hay comentarios »

Sockets en Java

Sockets en Java

Muchas veces utilizamos Internet sin conocer que sucede en las entrañas de la red. ¿Que ha pasado para que puedas ver esta página? ¿Como nos comunicamos con un servidor de FTP? ¿Como descargamos el correo? La respuesta es fácil, estableciendo un canal de comunicación entre nuestro ordenador y el servidor y siguiendo un protocolo que nos permita entendernos.

Pues ese canal de comunicación es lo que se conoce como Socket. Y cuya traducción al español sería: encaje, cuenca, órbita, alvéolo, foso o enchufe. A nivel tecnológico debemos de quedarnos con la última acepción. Así que, cuando pulsamos en conectar, nuestro cliente de FTP se enchufa con el servidor y empieza la comunicación entre ambos. Es importante saber que toda comunicación a través de la red se realiza siguiendo un orden y que para ello existe un documento donde se definen los pasos a dar. Este documento se conoce con el nombre de RFC y existen un montón, como mínimo uno por protocolo.

Pero en esta entrada no voy a hablar sobre un protocolo en concreto si no de cómo establecer este canal de comunicación entre el cliente y el servidor utilizando Java.

Leer el resto de la entrada »