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: , ,