Está en la página 1de 19

AWT y Swing

• Existen dos conjuntos basicos de


componentes.
• Para crear aplicaciones graficas o GUI
• AWT abstract Window Toolkit
• Swing
AWT
• Podemos realizar aplicaciones solas o
applets
• Dependen del sistema nativo para manejar
su funcionalidad.
• Se les conoce como componentes pesados
Caracteristicas de 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 resolucion
especifico.
 Clases de transferencia de datos, para copiar y
pegar a traves de el clipboard de la plataforma en
donde ejecutamos nuestra aplicación.
Swing
• Estan construidos sobre la tecnologia AWT
• Proveen de apariencia de acuerdo al sistema
donde se ejecuta la aplicacion
• Esta completamente implementada en java
• Estos componentes no dependen del sistema
donde se ejecuta para manejar su
fincionalidad
• Se les conoce como componentes ligeros.
Caracteristicas de Swing
• Tiene todas las caracteristicas de AWT
• Versiones del conjunto de componentes
100% en java.
• Una gran conjunto de componentes de alto
nivel ( vista de arbol, caja de lista, etc)
• Diseño de java puro.
• Apariencia modificable.
Pros y contras de AWT
PROS CONTRAS
• Velocidad, el usar el sistema • Portabilidad. El uso del sistema en
nativo como base hace que el el que se ejecutan los componentes
desempeño de los componente AWT crea algunas limitaciones.
sea mas rapido. Algunos componentes pueden no
• Portabilidad de applets, casi funcionar en todas las plataformas.
todos los navegadores soportan • Los grandes creadores de
las clases de AWT asi que componentes se han inclinado por
applets contruidos con AWT el desarrollo de omponentes Swing
puede ejecutarse sin necesidad y no AWT, esto hace que el
del pluin de java. conjunto de componentes AWT
• Apariencia: los componentes mas pequño.
AWT se parecen mas al sistema • Caracteristicas. Los componentes
en el que se estan ejecutando. AWT no soportan caracteristicas
como iconos y tool-tips.
Swing pros y contras
PROS CONTRAS
• Portabilidad. Debido a que los • Portabilidad de Applets. La
componentes de swing estan hechos
solo con java, estos funcionan en casi mayoria de los navegadores
todos las plataformas no incluyen las clases de
• Comportamiento. Permiten un rango Swing ANSI que se debe
de comportamiento mas amplio ya
que no estan limitados a los sistemas
de instalar un plugin de
en los que se ejecutan. java; para que funcionen
• Caracteristicas. Soporta el uso de los applets con swing
iconos y de tool-tips
• Soporte. Sun hace un gran esfuerzo
• Desempeño. Los
para hacer Swing mas robusto componentes Swing son
• Apariencia. Los componentes de generalmente mas lentos y
swing automáticamente pueden tomar con mas problemas que
la apariencia de cualquier
plataforma . AWT.
clase Que es AWT Swing Visible Deriva
de
Applet Ventana para S N true Panel
correr en un
navegador

JApplet idem N S true Applet

Container Esta es la baseen la que las demas ventanas se


construyen; manejan el LayaoutMAnager; esta en
AWT y swing; no la instanciamos directamente sino
a sus subclases. Hereda de Component
Clase Que es AWT Swing Visible Deriva
de

Frame Ventana que se Si No Falso Windo


puede mover y w
cambiar de
tamanio; con barra
y boton de cerrar;
usualmente
contiene panels
JFrame Idem; contiene No Si Falso Frame
Jpanels. Una
aplicacion
completa es
Jframe
clase Que es AWT Swing Visible Deriva
de
JPanel Region interna No Si True Jcompo
a un Jframe; nent
utilizado para
agrupar
componentes
Panel Idem Si No True Contain
er
Componentes
Componentes equivalentes en AWT y
swing
Applet Japplet

Button Jbutton

Canvas Jpanel

Checkbox JCheckBox o
JRadioButton
Choice JComboBox

Component Jcomponent
Frame Jframe

Label Jlabel

List Jlist

Panel Jpanel

TextArea JTextArea

TextField JTextField

Window JWindow
Layouts
• Layouts es la forma en la que se distribuyen diferentes
componentes graficos en un contenedor.
• FlowLayout.- es el default para Panel y Applet, se agrega
directamente con add(componente); los componentes se
agregan de izquierda a derecha de arriba hacia abajo, uno
despues 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, es el default para Frame y Dialog
• CardLayout.- Se agrega la cnatidad 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 display
• GridBagLayout. Es mas flexible a la hora d
posicionar componentes.
• Swing provee de mas Layouts
• BoxLayout
• OveryLayout
• null, este no es realmente un esquema para
colocar componentes pero si se desea tener
control total de donde colocamos lo
componentes podemos utilizar esta opcion.
Manejo de Eventos
• Cualquier sistema operativo que soporta
GUI debe monitorear constantemente el
ambiente de que suceda algun 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 en AWT
• Un objeto que escucha es una instancia de la clase que
implementa una interface especial llamada listener
interface
• Una fuente que genera un evento es un objeto que puede
registrar objetos que escuchan y enviar objetos de eventos
• La fuente de los eventos envia objetos de eventos a todos
los objetos que escuchan cuando ocurre un evento.
• El objeto que escucha utilizara entonces la informacion en
el objeto evento para reaccionar al evento.
Ejemplo de un boton en AWT
import java.applet.*; button2.addActionListener(new
import java.awt.*; ButtonHandler());
button3.addActionListener(new
import java.awt.event.*; ButtonHandler());
public class Buttons extends Applet panel2.add(button1);
{ Label label = new Label("Default panel2.add(button2);
Label"); panel2.add(button3);
Button button1 = new Button("One"); add("North",panel1);
Button button2 = new Button("Two"); add("Center",panel2);
Button button3 = new Button("Three"); }//fin de init
Panel panel1 = new Panel(); class ButtonHandler implements
ActionListener
Panel panel2 = new Panel();
{ public void actionPerformed(ActionEvent e)
public void init() { { String s = e.getActionCommand();
setLayout(new BorderLayout()); label.setText(s);
panel1.add(label); }
button1.addActionListener(new } //fin de ButtonHandler
ButtonHandler()); }//fin de la clase Buttons
• http://www.sunncity.com/Tutorial_Java/part
Two/gui.html#component

También podría gustarte