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

16
Tópicos Avanzados de Programación (TAP3501) Ariel Alexis Fierro Sáez [email protected] DuocUC

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

Page 1: Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar el sistema nativo como base hace que el desempeño de los componente sea mas rápido.

Tópicos Avanzados de Programación (TAP3501)

Ariel Alexis Fierro Sáez

[email protected]

DuocUC

Page 2: Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar el sistema nativo como base hace que el desempeño de los componente sea mas rápido.

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

Page 3: Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar el sistema nativo como base hace que el desempeño de los componente sea mas rápido.

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

Page 4: Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar el sistema nativo como base hace que el desempeño de los componente sea mas rápido.

Jerarquía AWT

Page 5: Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar el sistema nativo como base hace que el desempeño de los componente sea mas rápido.

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

Page 6: Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar el sistema nativo como base hace que el desempeño de los componente sea mas rápido.

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

Page 7: Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar el sistema nativo como base hace que el desempeño de los componente sea mas rápido.

Jerarquía swing

Page 8: Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar el sistema nativo como base hace que el desempeño de los componente sea mas rápido.

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

Page 9: Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar el sistema nativo como base hace que el desempeño de los componente sea mas rápido.

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.

Page 10: Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar el sistema nativo como base hace que el desempeño de los componente sea mas rápido.

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.

Page 11: Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar el sistema nativo como base hace que el desempeño de los componente sea mas rápido.

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.*;

Page 12: Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar el sistema nativo como base hace que el desempeño de los componente sea mas rápido.

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.

Page 13: Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar el sistema nativo como base hace que el desempeño de los componente sea mas rápido.

• 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

Page 14: Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar el sistema nativo como base hace que el desempeño de los componente sea mas rápido.

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

Page 15: Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar el sistema nativo como base hace que el desempeño de los componente sea mas rápido.

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.

Page 16: Tópicos Avanzados de Programación (TAP3501) · Ventajas y desventajas AWT • Velocidad, el usar el sistema nativo como base hace que el desempeño de los componente sea mas rápido.

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