Tutorial de Java

Swing

Anterior | Siguiente
  1. Revisión
  2. Bordes
  3. Etiquetas
  4. Botones
  5. Grupos de Botones
  6. Listas y Cajas Combinadas
  7. Texto
  8. Tool Tips
  9. Iconos
  10. Menús
  11. Menús Popup
  12. Escalas y Barras de Progreso
  13. Arboles
  14. Tablas
  15. Pestañas
  16. Diálogos Predefinidos
  17. Teclado
  18. Paneles Desplazables
  19. Look And Feel
  20. Look And Feel Flecha
  21. Ejemplo Swing

Cuando se empieza a utilizar Swing, se observa que JavaSoft ha dado un gran paso adelante respecto al AWT. Ahora los Componentes del interfaz gráfico son Beans y utilizan el nuevo modelo de Delegación de Eventos de Java. Swing proporciona un conjunto completo de Componentes, todos ellos lightweight, es decir, ya no se usan componentes "peer" dependientes del sistema operativo, y además, Swing está totalmente escrito en Java. Todo ello redunda en una mayor funcionalidad en manos del programador, y en la posibilidad de mejorar en gran medida la cosmética de los interfaces gráficos de usuario.

Son muchas las ventajas que ofrece el uso de Swing. Por ejemplo, la navegación con el teclado es automática, cualquier aplicación Swing se puede utilizar sin ratón, sin tener que escribir ni una línea de código adicional. Las etiquetas de información, o "tool tips", se pueden crear con una sola línea de código. Además, Swing aprovecha la circunstancia de que sus Componentes no están renderizados sobre la pantalla por el sistema operativo para soportar lo que llaman "pluggable look and feel", es decir, que la apariencia de la aplicación se adapta dinámicamente al sistema operativo y plataforma en que esté corriendo.

Los Componentes Swing no soportan el modelo de Eventos de Propagación, sino solamente el modelo de Delegación incluido desde el JDK 1.1; por lo tanto, si se van a utilizar componentes Swing, se debe programar exclusivamente en el nuevo modelo.

El paso de AWT a Swing es muy sencillo y no hay que descartar nada de lo que se haya hecho con el AWT. Afortunadamente, los programadores de Swing han tenido compasión y, en la mayoría de los casos es suficiente con añadir una "J" al componente AWT para que se convierta en un componente Swing.

Es muy importante entender y asimilar el hecho de que Swing es una extensión del AWT, y no un sustituto encaminado a reemplazarlo. Aunque esto sea verdad en algunos casos en que los componentes de Swing se corresponden a componentes del AWT; por ejemplo, el JButton de Swing puede considerarse como un sustituto del Button del AWT, y una vez que se usen los botones de Swing se puede tomar la decisión de no volver a utilizar jamás un botón de AWT, pero, la funcionalidad básica de Swing descansa sobre el AWT. Todo esto es para evitar que el lector salte directamente a Swing, ya que sería conveniente que primero entendiese el AWT y cómo Swing mejora al AWT. Por ahora, en este Tutorial solamente habrá ejemplos de algunos de los componentes de Swing, porque lo suyo es que el lector consulte la información de JavaSoft, incluso a pesar de que esté en inglés, porque las figuras que proporcionan en su tutorial son muy ilustrativas. Aquí, se reproducirán algunas, quizá no las más interesantes, pero sí las más descriptivas. Hay muchos libros en los que aparecen estas figuras, que se usan como material de relleno para que parezca que el libro contiene más información de la que en realidad posee; es más, algunos de los libros que el autor ha hojeado (en inglés), no son más que reproducciones de la documentación que JavaSoft proporciona gratuitamente.

Para la cuestión de ejemplos, los más adecuados y espectaculares son los que proporciona JavaSoft con Swing, bajo la carpeta "examples" que se genera en la instalación del JDK. Particularmente interesante es la aplicación que ellos llaman SwingSet, cuya pantalla inicial es una ventana con una veintena de pestañas que corresponden, cada una de ellas, a uno de los aspectos de Swing. Si el lector quiere husmear en los ejemplos, es particularmente interesante el "Slider" y, por supuesto, seleccionar en el menú de "Options" las diferentes apariencias con que se pueden mostrar los paneles.



Navegador

Home | Anterior | Siguiente | Indice | Correo