PDF de programación - Lenguaje de Programación JAVA - 9 AWT

Imágen de pdf Lenguaje de Programación JAVA - 9 AWT

Lenguaje de Programación JAVA - 9 AWTgráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.724 visualizaciones desde el 14 de Enero del 2017
572,1 KB
50 paginas
Creado hace 14a (09/04/2010)
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG

Lenguaje JAVA

9. AWT (Abstract Window Toolkit)
Índice

9.0 Introducción
9.1 Contenedores
9.2 Layouts
9.3 Componentes
9.4 Eventos
9.5 Swing
9.6 HowTo Swing
9.7 Ejemplo
9.8 Applets

David Contreras Bárcena

185

9. AWT (Abstract Window Toolkit)

AWT es el acrónimo del X Window Toolkit para Java.
Es una biblioteca de clases Java para el desarrollo de
Interfaces de Usuario Gráficas.
La versión del AWT que Sun proporcionó con el JDK se
desarrolló en sólo dos meses y es la parte más débil de todo
lo que representa Java como lenguaje.
Por este motivo se ha implementado el entorno gráfico
llamado Swing, desarrollado conjuntamente con Netscape.
Un entorno muy potente con todas las mejoras visuales que
hoy en día se ofrecen.

David Contreras Bárcena

186

David Contreras Bárcena - ETSI

Lenguaje de Programación JAVA – 2º IINF y 2º ITIG

Lenguaje JAVA

9. AWT (Abstract Window Toolkit)

Proporciona al programador todos los elementos necesarios
para desarrollar aplicaciones gráficas, como son ventanas,
botones, etc… y un sistema de eventos para gestionar las
acciones producidas por el usuario con cualquier elemento
de la aplicación.

David Contreras Bárcena

187

9. AWT – java.awt

Object



Component

Cursor

Event

FlowLayout



Button

Canvas

List

Container

Label

TextComponent

JComponent

Panel

Window

ScrollPane

TextField

TextArea

Dialog

Frame

JWindow

FileDialog

JDialog

JFrame

javax.swing

David Contreras Bárcena

188

David Contreras Bárcena - ETSI

Lenguaje de Programación JAVA – 2º IINF y 2º ITIG

Lenguaje JAVA

9. AWT – Estructura de una aplicación GUI

Objetos que debe contener toda aplicación GUI:

9.1 Contenedores (Containers): Elementos que se emplean para
colocar componentes en la ventana. La forma en la que se
distribuyan estos objetos en el container, dependerá del Layout
que se aplique al mismo. Un container que no posea un layout,
sólo podrá colocar un componente sobre sí mismo. Tipos de
container:

Ventanas: Elemento donde se muestra cualquier contenido visual.
Paneles: Una ventana podrá contener tantos paneles como le permita el
layout. Un panel, a su vez, deberá aplicar un layout para agregar
componentes.

David Contreras Bárcena

189

9. AWT – Estructura de una aplicación GUI

9.2 Layout Manager:

Indican la forma de organizar los componentes dentro del container.
Determinan el tamaño y posición de los componentes.
Pasos a dar:
1. Crear el container.
2. Aplicar el tipo de Layout Manager.
3. Agregar los componentes al container.
Tipos de Layout Manager más importantes (todos elllos heredan del
interface LayoutManager):


• GridLayout.
BoxLayout


CardLayout

FlowLayout
BorderLayout

David Contreras Bárcena

190

David Contreras Bárcena - ETSI

Lenguaje de Programación JAVA – 2º IINF y 2º ITIG

Lenguaje JAVA

9. AWT – Estructura de una aplicación GUI
9.3 Componentes (Components): Representan cada uno de los
controles que aparecen en toda ventana (botones, cajas de texto,
menús, ...)

David Contreras Bárcena

191

9.1 Contenedores - Ventanas

La clase Window permite crear ventanas cualquier tipo.
Subclases:

Frame: es la típica ventana de aplicación.
Dialog: es la ventana que utilizan los cuadros de diálogo.
Window: es una ventana sin marco ni barra de título. Utlizada para
las ventanas de presentación.

Métodos:

void setVisible (boolean visible)
void pack()
void setSize (int width, int height)
void setTitle (String title)
void setMenuBar (MenuBar mb)
void setResizable (boolean resizable)
void setState (int state)

David Contreras Bárcena

192

David Contreras Bárcena - ETSI

Lenguaje de Programación JAVA – 2º IINF y 2º ITIG

Lenguaje JAVA

9.1 Contenedores – Cuadros de Diálogo

Son ventanas transitorias para mostrar advertencias, errores,
información especifica, etc.
No tienen barra de menús.
Pueden ser de dos tipos:

JDialog: proporciona un dialogo general.
JFileChooser: dialogo especifico para escoger archivos para
guardar o abrir.
JOptionPane: manera fácil y rápida de generar diálogo
personalizados.

David Contreras Bárcena

193

9.1 Contenedores – Estructura de una aplicación GUI

Ejemplo de creación de una ventana:

public class MiFrame extends Frame
{

Button boton;

public static void main(String s[])
{

new MiFrame();

}

public MiFrame()
{

boton = new Button("Aceptar");
this.setLayout(new FlowLayout());
this.add(boton);
this.setSize(250,250);
this.setVisible(true);

}

}

David Contreras Bárcena

194

David Contreras Bárcena - ETSI

Lenguaje de Programación JAVA – 2º IINF y 2º ITIG

Lenguaje JAVA

9.1 Contenedores – Estructura de una aplicación GUI

Ejemplos:

COMPONENTE -> Button
CONTAINER –> Frame

COMPONENTE -> Button

DISTRIBUCION –> FlowLayout

CONTAINER –> Frame

COMPONENTE -> Button

DISTRIBUCION –> FlowLayout

CONTAINER –> Panel en la zona Sur

DISTRIBUCION –> BorderLayout

CONTAINER –> Frame

David Contreras Bárcena

195

9.1 Contenedores – Estructura de una aplicación GUI

Ejemplos:

public MiFrame()
{

boton = new Button("Aceptar");
this.add(boton);
this.setSize(250,250);
this.setVisible(true);

}

public MiFrame()
{

boton = new JButton("Aceptar");
this.setLayout(new FlowLayout());
this.add(boton);
this.setSize(250,250);
this.setVisible(true);

}

public MiFrame()
{

boton = new JButton("Aceptar");
Panel panel= new Panel(new FlowLayout());
panel.add(boton);
this.setLayout(new BorderLayout());
this.add(panel,BorderLayout.SOUTH);
this.setSize(250,250);
this.setVisible(true);

David Contreras Bárcena

}

196

David Contreras Bárcena - ETSI

Lenguaje de Programación JAVA – 2º IINF y 2º ITIG

Lenguaje JAVA

9.1 Contenedores - Container

Métodos importantes definidos en la clase Container:

Component add(Component comp)
void setLayout(LayoutManager mgr)
void remove(Component comp)
void remove(int index)
void removeAll()
void doLayout()

David Contreras Bárcena

197

9.2 LayoutManager

FlowLayout (java.awt)

Permite una distribución lineal de los componentes.
Crea nuevas líneas cuando así lo exige el ancho del container.

Components

Container

this.setLayout (new FlowLayout());
this.add(new Button(“Aceptar”));
this.add(...);
this.add(...);
this.add(...);
this.add(...);

David Contreras Bárcena

198

David Contreras Bárcena - ETSI

Lenguaje de Programación JAVA – 2º IINF y 2º ITIG

Lenguaje JAVA

9.2 LayoutManager

GridLayout (java.awt)

Permite una distribución en regilla o tabla.
Los componentes se situan en las celdas de forma secuencial de
arriba abajo y de izquierda a derecha.
No se puede direccionar la posición de los componentes sobre las
celdas.
El tamaño de las celdas es idéntico.

Container

Components

this.setLayout(new GridLayout(2,3));
this.add(new Button(“Aceptar”));
this.add(...);
this.add(...);
this.add(...);

David Contreras Bárcena

199

9.2 LayoutManager
BorderLayout (java.awt)

Proporciona cinco áreas para situar componentes.
La ausencia de una de ellas produce la extensión horizontal o
vertical de las contiguas.

norte

Container

oeste

centro

este

Components

sur

this.setLayout(new BorderLayout());
this.add(new Button(“Aceptar”), BorderLayout.NORTH);
this.add(..., BorderLayout.EAST);
this.add(..., BorderLayout.WEST);
this.add(..., BorderLayout.SOUTH);
this.add(..., BorderLayout.CENTER);

David Contreras Bárcena

200

David Contreras Bárcena - ETSI

Lenguaje de Programación JAVA – 2º IINF y 2º ITIG

Lenguaje JAVA

9.2 LayoutManager

CardLayout (java.awt)

Permite alternar el contenido de un container entre varios paneles
creados anteriormente.
El cambio se puede producir en tiempo de ejecución.
Cada panel deberá tener un identificador del tipo String.

this.setLayout(new CardLayout());

Panel panelA = new JPanel ();
panelA.add(....);
Panel panelB = new JPanel ();
panelB.add(....);

this.add(panelA, “A”);
this.add(panelB, “B”);

CardLayout cl = (CardLayout)this.getLayout();
cl.show(c, “B");

David Contreras Bárcena

201

9.2 LayoutManager
BoxLayout (javax.swing)

Permite visualizar los componentes alineados vertical u
horizontalmente.

Container

Components

this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
Button boton1 = new Button(“Aceptar");
boton1.setAlignmentX(Component.CENTER_ALIGNMENT);
this.add(boton1);
this.add(...);
this.add(...);
this.add(...);

David Contreras Bárcena

202

David Contreras Bárcena - ETSI

Lenguaje de Programación JAVA – 2º IINF y 2º ITIG

Lenguaje JAVA

9.3 Componentes (Component)

Como superclase de todos los componentes java (AWT y
Swing), esta clase generaliza el comportamiento de todos
ellos.
Todos los componentes AWT heredan de Component,
mientras que los desarrollados en Swing lo hacen de
JComponent.

Component

Button

List

Container

Label

JComponent

David Contreras Bárcena

203

9.3 Componentes (Component)

Métodos importantes definidos en la clase Component:

void setEnabled(boolean b)
void setVisible(boolean b)
void requestFocus()
void setBounds(int x, int y, int width, int height)
void setLocation(int x, int y)
void setSize(int width, int height)
void setCursor(Cursor cursor)
void setFont(Font f)
void setBackground(Color c)
void setForeground(Color c)
void setName(String name)
void updateUI()

David Contreras Bárcena

204

David Contreras Bárcena - ETSI

Lenguaje de Programación JAVA – 2º IINF y 2º ITIG

Lenguaje JAVA

9.3 Componentes (Component)

Dado que las aplicaciones GUI desarrolladas hoy en día se
basan en componentes Swing, se verá un ejemplo mínimo
de componentes AWT.
Algunos de estos componentes se siguen empleando
aunque la gran mayoría han sido sustituidos por los nuevos
desarrollados en Swing.

Button: botones (JButton en Swing)
Label: etiquetas (JLabel en Swing)
TextField: campos de texto (JTextField en Swing)
Canvas: lienzo para dibujar

David Contreras Bárcena

205

9.3 Componentes - Button

Button(): crea un botón vacio sin etiqueta
Button(String): crea un botón con el string como etiqueta
String getLabel(): devuelve la etiqueta del botón.
void setLabel(String): pone
  • Links de descarga
http://lwp-l.com/pdf935

Comentarios de: Lenguaje de Programación JAVA - 9 AWT (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad