Mar 21 2010

Interfaz gráfica de usuario con Java

Categoría: POO,ProgramaciónMiguel Angel @ 1:24

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 más…

Etiquetas: , , ,


Ene 12 2010

Rellenar una tabla en Java

Categoría: POO,ProgramaciónMiguel Angel @ 15:09

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 más…

Etiquetas: ,


Dic 15 2009

Elementos en un JComboBox

Categoría: POO,ProgramaciónMiguel Angel @ 1:58

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 más…

Etiquetas: , , ,


Dic 15 2009

Fichero de propiedades en Java

Categoría: POO,ProgramaciónMiguel Angel @ 0:32

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 más…

Etiquetas: , ,


Dic 30 2008

AjaxSwing (parte II)

Categoría: DAD,InformáticaMiguel Angel @ 17:10

ajaxswing2Continuando con la serie de entradas sobre AjaxSwing, en esta voy a explicar como configurar un Tomcat ya instalado. Como ya comenté en una entrada anterior AjaxSwing incluye un servidor Tomcat perfectamente configurado (por lo que se puede obviar este paso). De todas formas, puede ser que en algún momento sea necesario utilizar un servidor que ya estuviera instalado previamente. Así que, manos a la obra.

Leer más…

Etiquetas: , , , , ,


Dic 24 2008

AjaxSwing (parte I)

Categoría: DAD,InformáticaMiguel Angel @ 1:40

ajaxswing2Vía The server side encuentro una noticia sobre la última versión de la librería AjaxSwing (2.3). Lo que nos proponen la gente de CreamTec sigue la linea de GWT pero, como ellos mismos dicen, con algunos matices.

La característica principal es que, en tiempo de ejecución, se pueden convertir aplicaciones Swing en paginas HTML y código Javascript. Esto representa una gran ventaja ya que, en teoría, todas las aplicaciones cliente desarrolladas hasta el momento se podrían convertir en aplicaciones Web. Bueno, todos sabemos que este tipo de afirmaciones hay que tomárselas con calma.

Como estas cosas tengo que verlas con mis propios ojos y no me valen las demos, he invertido unas horas de mi vida en desplegar y probar el framework.

Leer más…

Etiquetas: , , , , ,