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 esta entrada »

Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • BarraPunto
  • LinkedIn
  • Meneame

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

Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • BarraPunto
  • LinkedIn
  • Meneame

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 esta entrada »

Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • BarraPunto
  • LinkedIn
  • Meneame

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 esta entrada »

Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • BarraPunto
  • LinkedIn
  • Meneame

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 esta entrada »

Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • BarraPunto
  • LinkedIn
  • Meneame

No al recorte del presupuesto de I+D

Escrito el 7 de Octubre de 2009 | 8:00 am en General | 2 Comentarios »

cienciaRecortes Esta mañana mi compañero de departamento Jesús Soto me ha hablado sobre una iniciativa para protestar por el recorte previsto por el Gobierno en la inversión en I+D. La idea me ha parecido muy buena y por eso incluyo esta entrada pero me gustaría lanzar una pregunta al respecto: ¿Es lógica la propuesta de mantener el gasto en I+D en tiempos de crisis cuando, a medio plazo, falte dinero para pagar servicios sociales como el subsidio por desempleo o la sanidad?

La respuesta sería no siempre y cuando se hiciera lo propio con otros servicios, por ejemplo los seiscientos y pico consejeros del presidente, los ministerios de desigualdad y política territorial, el sueldo de sus señorías, … y un largo etcétera al que todos podríamos añadir algo.

Desde otro punto de vista, se puede argumentar que el gasto en I+D hay que mantenerlo en tiempos de crisis como caldo de cultivo para salir de ella. Yo me inclino más hacia esta postura, aunque tendría que haber un listado de proyectos subvencionados en el que se incluya el gasto y los resultados obtenidos; así como una dirección de correo electrónico para poder pedirles explicaciones si se han gastado mi dinero en algo ridículo. No está la cosa para ir tirando el dinero.

En fin… que si ZP no se recorta el sueldo y tampoco se quita consejeros lo menos que podría hacer es mantener el gasto en I+D para intentar salir de la crisis con nuevas iniciativas y no sólo pagando reformas de parques y jardines.

Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • BarraPunto
  • LinkedIn
  • Meneame

Prácticas de la programación extrema

Escrito el 23 de Septiembre de 2009 | 8:56 pm en Asignaturas, ISW II | 4 Comentarios »

El otro día en clase estuvimos hablando sobre los métodos ágiles y, entre ellos, de la programación extrema. Quedó pendiente que los alumnos buscaran información sobre las 12 prácticas que este proceso de desarrollo establece. A petición de ellos pongo el listado pero con la condición de crear otra entrada con las conclusiones obtenidas :)
Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • BarraPunto
  • LinkedIn
  • Meneame

Conectarse a MySQL en Tomcat

Escrito el 8 de Mayo de 2009 | 4:37 pm en DAD, Informática, Tecnología | 1 Comentario »

Existen varias opciones a la hora de conectarse desde una aplicación Tomcat a una base de datos .

Nosotros lo haremos contra una base de datos MySQL. Y para ello necesitaremos el driver que descargaremos de la web de MySQL. Sólo hay que copiar el fichero mysql-connector-java*.jar en el directorio WEB-INF/lib/.

Veamos dos formas diferentes de realizar una conexión. Aunque nos quedaremos con la segunda siempre es bueno conocer otras opciones menos válidas y saber los motivos.

Opción 1: En el servlet Control

  1. Creamos un atributo para la conexión
    • private Connection Conexion = null;
  2. Creamos un método estático getConexion que devuelva una conexión con la base de datos, creándola si no existe.
  3. Sobreescribimos el método destroy para asegurarnos que se cierra la conexión con la base de datos una vez que se destruye el servlet.

Leer el resto de esta entrada »

Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • BarraPunto
  • LinkedIn
  • Meneame

Filtrar peticiones en Tomcat

Escrito el 7 de Mayo de 2009 | 5:37 pm en DAD, Informática | No hay comentarios »

Muchas veces puede ser necesario filtrar todas las peticiones que se hacen a un servlet para realizar operaciones de control antes y después de la misma. Por ejemplo, controlar la conexión con la base de datos.
¿Y como se hace esto en Tomcat? Pues lo de siempre, una clase que implementa una interfaz y un cambio en la configuración del web.xml para que filtre las peticiones a un servlet. Vamos por partes…

Leer el resto de esta entrada »

Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • BarraPunto
  • LinkedIn
  • Meneame

Tomcat (VIII): patrón Modelo – Vista – Control

Escrito el 30 de Abril de 2009 | 7:26 pm en DAD, Informática | No hay comentarios »

TomcatYa llevamos con esta 8 entradas sobre Tomcat donde se han explicado diferentes funcionalidades. Pero tal vez nos falta una visión global de como implementar una aplicación web.

Existen muchas opciones pero tal vez la más recomendable sea aplicar el patrón Modelo-Vista-Control. ¿Y en que consiste? Pues muy fácil, que todas las peticiones pasen por un único punto, Control, que dependiendo de la acción a realizar ejecutará un modelo u otro. Este modelo redirige la petición hacia la vista (una JSP) correspondiente.

Leer el resto de esta entrada »

Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • BarraPunto
  • LinkedIn
  • Meneame