Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar...

Post on 29-Sep-2018

344 views 0 download

Transcript of Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar...

Tópicos Avanzados de Programación (TAP3501)

Ariel Alexis Fierro Sáez

afierrosaez@gmail.com

DuocUC

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