Você está na página 1de 19

Existen dos conjuntos basicos de

componentes.
Para crear aplicaciones graficas o GUI
AWT abstract Window Toolkit
Swing

AWT y Swing

Podemos realizar aplicaciones solas o


applets
Dependen del sistema nativo para
manejar su funcionalidad.
Se les conoce como componentes pesados

AWT

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 tamao o resolucion especifico.

Clases de transferencia de datos, para


copiar y pegar a traves de el clipboard de
la plataforma en donde ejecutamos
nuestra aplicacin.

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.

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)
Diseo de java puro.
Apariencia modificable.

Caracteristicas de Swing

Velocidad, el usar el
sistema nativo como base
hace que el desempeo de
los componente sea mas
rapido.
PROS
Portabilidad
de applets,
casi todos los navegadores
soportan las clases de AWT
asi que applets contruidos
con AWT puede ejecutarse
sin necesidad del pluin de
java.
Apariencia: los
componentes AWT se
parecen mas al sistema en
el que se estan ejecutando.

Pros y contras de AWT

Portabilidad. El uso del


sistema en el que se ejecutan
los componentes AWT crea
algunas limitaciones. Algunos
componentes pueden no
funcionar en todas las
CONTRAS
plataformas.
Los grandes creadores de
componentes se han inclinado
por el desarrollo de
omponentes Swing y no AWT,
esto hace que el conjunto de
componentes AWT mas
pequo.
Caracteristicas. Los
componentes AWT no soportan
caracteristicas como iconos y
tool-tips.

Swing pros y contras


PROS

Portabilidad. Debido a que los


componentes de swing estan
hechos solo con java, estos
funcionan en casi todos las
plataformas
Comportamiento. Permiten un
rango de comportamiento mas
amplio ya que no estan
limitados a los sistemas en los
que se ejecutan.
Caracteristicas. 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 automticamente
pueden tomar la apariencia de
cualquier plataforma .

CONTRAS

Portabilidad de Applets.
La mayoria 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
Desempeo. Los
componentes Swing
son generalmente mas
lentos y con mas
problemas que AWT.

clase

Que es

AWT

Swing

Visible

Deriva
de

Applet

Ventana para
correr en un
navegador

true

Panel

JApplet

idem

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

Frame

Ventana que se
Si
puede mover y
cambiar de
tamanio; con barra
y boton de cerrar;
usualmente
contiene panels
Idem; contiene
No
Jpanels. Una
aplicacion
completa es
Jframe

JFrame

AWT

Swing

Visible

Deriva
de

No

Falso

Windo
w

Si

Falso

Frame

clase

Que es

JPanel

Region interna No
a un Jframe;
utilizado para
agrupar
componentes
Idem
Si

Panel

AWT

Swing

Visible

Deriva
de

Si

True

Jcompo
nent

No

True

Contain
er

Componentes
Componentes equivalentes en AWT y
swing
Applet

Japplet

Button

Jbutton

Canvas

Jpanel

Checkbox
Choice

JCheckBox o
JRadioButton
JComboBox

Component

Jcomponent

Frame

Jframe

Label

Jlabel

List

Jlist

Panel

Jpanel

TextArea

JTextArea

TextField

JTextField

Window

JWindow

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

Layouts

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.

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

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.

Manejo de eventos en AWT

Ejemplo de un boton en AWT


import java.applet.*;
mport java.awt.*;
import java.awt.event.*;
public class Buttons extends Applet
{ Label label = new Label("Default
Label");
Button button1 = new
Button("One");
Button button2 = new Button("Two");
Button button3 = new
Button("Three");
Panel panel1 = new Panel();
Panel panel2 = new Panel();
public void init() {
setLayout(new BorderLayout());
panel1.add(label);
button1.addActionListener(new
ButtonHandler());

button2.addActionListener(new
ButtonHandler());
button3.addActionListener(new
ButtonHandler());
panel2.add(button1);
panel2.add(button2);
panel2.add(button3);
add("North",panel1);
add("Center",panel2);
}//fin de init
class ButtonHandler implements
ActionListener
{ public void
actionPerformed(ActionEvent e)
{ String s = e.getActionCommand();
label.setText(s);
}
} //fin de ButtonHandler
}//fin de la clase Buttons

http://www.sunncity.com/Tutorial_Java/pa
rtTwo/gui.html#component