Soporte nativo para GUIs
Interfaz grafica
• Para el desarrollo de GUI (graphical userinterface) se disponen de dos paquetes: javax.swing.* y java.awt
Awt
Swing
Paquete AWT
• Un gran conjunto de componentes de interfaz de usuario
• Un robusto modelo de manejo de eventos
• Herramientas graficas y de imagen, incluyendo forma, color y tipo de letra. Manejadores de Layout, para un manejo de ventanas flexible que no dependan de una tamaño o resolución especifico.
• Clases de transferencia de datos, para copiar y pegar a través de el clipboard de la plataforma en donde ejecutamos nuestra aplicación
Jerarquía AWT
Ventajas y desventajas AWT
• Velocidad, el usar el sistema nativo como base hace que el desempeño de los componente sea mas rápido.
• Portabilidad de applets, casi todos los navegadores soportan las clases de AWT así que appletsconstruidos con AWT puede ejecutarse sin necesidad del pluinde java.
• Apariencia: los componentes AWT se parecen mas al sistema en el que se están ejecutando.
• Portabilidad. El uso del sistema en el que se ejecutan los componentes AWT crea algunas limitaciones. Algunos componentes pueden no funcionar en todas las plataformas.
• Los grandes creadores de componentes se han inclinado por el desarrollo de componentes Swing y no AWT, esto hace que el conjunto de componentes AWT mas pequeño.
• Características. Los componentes AWT no soportan características como iconos y tool-tips.
Ventajas Desventajas
Swing
• Están construidos sobre la tecnología AWT.
• Proveen de apariencia de acuerdo al sistema donde se ejecuta la aplicación
• Esta completamente implementada en java
• Estos componentes no dependen del sistema donde se ejecuta para manejar su funcionalidad
Jerarquía swing
Ventajas y desventaja Swing
• Portabilidad. Debido a que los componentes de swing están hechos solo con java, estos funcionan en casi todos las plataformas.
• Comportamiento. Permiten un rango de comportamiento mas amplio ya que no están limitados a los sistemas en los que se ejecutan.
• Características. Soporta el uso de iconos y de tool-tips
• Soporte. Sun hace un gran esfuerzo para hacer Swing mas robusto.
• Apariencia. Los componentes de swing automáticamente pueden tomar la apariencia de cualquier plataforma .
• Portabilidad de Applets. La mayoría de los navegadores no incluyen las clases de Swing ANSI que se debe de instalar un plugin de java; para que funcionen los applets con swing
• Desempeño. Los componentes Swing son generalmente mas lentos y con mas problemas que AWT.
Ventajas Desventajas
AWT y Swing
• La estructura básica del AWT se basa en Componentes y Contenedores.
• Un Contenedor es una clase abstracta derivada deComponent, que representa a cualquiercomponente que pueda contener otroscomponentes.
• Estos últimos contienen Componentes posicionados dentro de la ventana, de forma que los eventos pueden tratarse tanto en Contenedores como en Componentes.
AWT y Swing
• El diseño de toda interfaz conlleva:
� Definir la estructura de la interfaz
� Qué componentes gráficos se van a utilizar, y cómo se vana relacionar estos componentes)
� Definir la disposición (layout) de los componentes
� Sirven para organizar los componentes contenidos en losmismos.
� Definir el comportamiento de la interfaz: gestión deeventos
� Algunos componentes son controles: permiten reaccionarante eventos del usuario. El comportamiento se especificaprogramando las respuestas a dichos eventos.
Componente GUI básica
• Todos los componentes heredan de la clase javax.swing.JComponent.
• JFrame es la clase base en que se construye cualquier aplicación de escritorio en java.
• JDialog corresponde a todos las ventanas desplegables.
• Clases utilizadas: import javax.swing.*; y importjava.awt.*;
Layouts
Layouts es la forma en la que se distribuyen diferentes componentes gráficos en un contenedor.
• FlowLayout: se agrega directamente con add(componente). Los componentes se agregan de izquierda a derecha de arriba hacia abajo, uno después de otro en el mismo orden en el que se agregaron.
• BorderLayout: se agrega un componentes con add(componente,BorderLAyout.CENTER), este segundo argumento puede ser NORTH,SOUTH,EAST,WEST Y CENTER.
• CardLayout: Se agrega la cantidad de componentes que quiera con add(componente,String llave); el segundo argumento puede ser cualquier String. Solo es visible un componente a la vez. Para mostrar el componente es con show(componente, String.valueOf(llave));
• GridLayout: acomoda los componentes en una matriz dentro del ventana.
• GridBagLayout: al igual que el gridlayoutdefine una matriz, pero que a diferencia de el cada celda puede tener un tamaño determinado.
Layouts
Manejo de Eventos
• Cualquier sistema operativo que soporta GUI debe monitorear constantemente el ambiente de que suceda algún evento, como un click del mouse o al presionar una tecla.
• El OS. Reporta los eventos a el programa que esta corriendo
Manejo de eventos
• Un objeto que escucha es una instancia de la clase que implementa una interface especial llamada listenerinterface
• La fuente de los eventos envía objetos de eventos a todos los objetos que escuchan cuando ocurre un evento.
• El objeto que escucha utilizara entonces la información en el objeto evento para reaccionar al evento.
Referencias
• API Javahttp://docs.oracle.com/javase/1.4.2/docs/api/index.html
• Layout Managers, Martín Pérez Mariñánhttp://es.scribd.com/doc/17800593/Layouts-JAVA
• Enabling Java Web Start in the NetBeans IDEhttp://netbeans.org/kb/docs/java/javase-jws.html
• How to Use SpringLayouthttp://docs.oracle.com/javase/tutorial/uiswing/layout/spring.html
• Swing, la solución actual de Java para crear GUIs, Marcela Calderón/Emilio Davishttp://www.dcc.uchile.cl/~lmateu/CC60H/Trabajos/edavis/swing.html
Top Related