You are on page 1of 30

La Plataforma Java

Programacin grafica en Java con AWT


La interfaz de usuario es la parte del programa que permite a ste interactuar con el usuario. Las interfaces de usuario pueden adoptar muchas formas, que van desde la simple lnea de comandos hasta las interfaces grficas (IGU-GUI) que proporcionan las aplicaciones ms modernas. La interfaz de usuario es uno de los aspectos ms importante de cualquier aplicacin. Una aplicacin sin un interfaz fcil, impide que los usuarios saquen el mximo rendimiento del programa. Java proporciona los elementos bsicos para construir interfaces de usuario a travs de la biblioteca de clases AWT, y opciones para mejorarlas mediante una nueva biblioteca denominada Swing
Taller de Programacion II

Ing. Jorg

AWT (Abstract Window Toolkit)


AWT es el acrnimo del Abstract Window Toolkit para Java. Se trata de una biblioteca de clases Java para el desarrollo de las Interfaces de Usuario Grficas. La versin del AWT que Sun proporciona con el JDK 1.0.x se desarroll en slo dos meses y es la parte ms dbil de todo lo que representa Java como lenguaje. El entorno que ofrece es demasiado simple, no se han tenido en cuenta las ideas de entornos grficos novedosos.

Estructura bsica de AWT


La estructura bsica del AWT se basa en: Componentes Contenedores Los Componentes son los controles bsicos como botones, listas, cuadros de texto, checkbox,... Los Contenedores contienen a otros Componentes dentro, los cuales de encuentran posicionados de forma relativa con respecto al contenedor. No se usan posiciones fijas de los Componentes con respecto a los Contenedores, sino que estn situados a travs de una disposicin controlada (layouts). Los Contenedores son a su vez tambin Componentes.

Mi Primera Ventana

Estructura de un JFrame

Aadir Componentes a un JFrame


Para aadir componentes a la ventana, primero se debe obtener el contenedor ContentPane y a continuacin aadir los componentes a este. Por ejemplo, supongamos que deseamos dibujar un rectngulo en la ventana. El rectngulo no se puede dibujar directamente sobre un objeto del tipo JFrame. En su lugar procederemos del siguiente modo: 1. Crearemos una clase que extienda a JPanel 2. Sobrescribiremos su mtodo paintComponent(Graphics g) 3. Aadiremos un objeto de este tipo a la ventana.

Ejemplos Componentes JFrame

Componentes swing
El Un componente es un objeto que tiene una representacin grafica y que puede ser mostrado por pantalla y que puede utilizado por el usuario. Ejemplos de componentes son: JButton, JTextField, JScrollPane, JTextArea,etc

JPanel y JLabel
Un objeto de la clase JPanel sirve para contener otros componentes. La clase JLabel se utiliza para crear etiquetas de texto.

ImageIcon
Objetos de esta clase se pueden utilizar para mostrar imgenes.

JTextField
Objetos de esta clase se utilizan para que el usuario pueda introducir datos a la aplicacin.

JTextArea
Objetos de esta clase se utilizan para que el usuario pueda introducir datos tipo texto de gran tamao.

JButton
Un objeto de esta clase representa un botn.

JCheckBox
Sirve para seleccionar elementos.

JRadioButton
Sirve para seleccionar elementos.

ButtonGroup
Sirve para seleccionar elementos.

JComboBox
Sirve para mostrar una lista desplegable de elementos.

JList
Objetos de esta clase sirven para mostrar una lista con elementos.

JTree
Objetos de este tipo sirven para mostrar la informacin en forma de rbol.

JTable y JScrollPane
Objetos del tipo JTable sirven para mostrar informacin en forma tabular. Los objetos del tipo JScrollPane sirven para contener componentes y mostrar barras de desplazamiento.

Organizacin de Los Componentes


Cuando en una ventana hay muchos componentes hay que organizarlos de algn modo. Java proporciona diversos esquemas de organizacin (layout managers) que pueden ser utilizados para organizar los componentes dentro de los contenedores. Los gestores de organizacin se encargan de reorganizar los componentes en caso de que el usuario cambie el tamao de la ventana. Los gestores de organizacin que ofrece Java son: BorderLayout FlowLayout GridLayou El procedimiento es siempre el mismo, se crea un objeto de alguna de estas clases y se le indica al contenedor que organice los componentes utilizando el objeto (para ello los contenedores disponen del mtodo setLayout(LayoutManager m).

BorderLayout
Se puede utilizar para colocar en un contenedor cinco componentes como mximo ya que proporciona cinco posiciones donde colocar los componentes, estas son: NORTH (arriba) SOUTH (abajo) WEST (izquierda) EAST (derecha) CENTER (en el centro).

BorderLayout

FlowLayout
Coloca los componentes de izquierda a derecha conforme se van aadiendo a la ventana. El tamao de los componentes se ajusta a su contenido.

GridLayout
Coloca los componentes en filas y columnas en funcin de los valores pasados al constructor. Todas las celdas tendrn el mismo tamao.

Applets
La definicin ms extendida de Applet, muy bien resumida por Patrick Naughton, indica que un Applet es "una pequea aplicacin accesible en un servidor Internet, que se transporta por la red, se instala automticamente y se ejecuta in situ como parte de un documento web". Claro que as la definicin establece el entorno (Internet, Web, etc.).

Arquitectura de Appletviewer
El appletviewer representa el mnimo interfaz de navegacin. En la figura se muestran los pasos que seguira appletviewer para presentarnos el resultado de la ejecucin del cdigo de nuestra clase.

Ciclo de Vida de un Applet


Cuando un applet se carga en el appletviewer, comienza su ciclo de vida, que pasara por las siguientes fases: Se crea una instancia de la clase que controla el applet. En el ejemplo de la figura anterior, sera la clase HolaMundo. El applet se inicializa. El applet comienza a ejecutarse. El applet empieza a recibir llamadas. Primero recibe una llamada init (inicializar), seguida de un mensaje start (empezar) y paint (pintar). Estas llamadas pueden ser recibidas asncronamente.

Arquitectura de Appletviewer
El appletviewer representa el mnimo interfaz de navegacin. En la figura se muestran los pasos que seguira appletviewer para presentarnos el resultado de la ejecucin del cdigo de nuestra clase.

You might also like