Download Laboratorio de Programación III

Document related concepts
no text concepts found
Transcript
Laboratorio de
Programación III
Profesor René Sandoval
Ingeniero (E) Informática
[email protected]
AWT
AWT es el acrónimo de Abstract Window Toolkit
Primera versión de Java.
Es una biblioteca de clases de Java para el desarrollo de
interfaces gráficas de usuario (GUI).
Consume mas recursos.
Posee mas de 30 componentes.
Es la librería básica (o API). Sobre ella se construyo
posteriormente otra mas flexible y potente: JFC/Swing
La AWT se encuentra en el paquete java.awt.*
2º Semestre 2010
Laboratorio de Programación III
2
AWT
Dispone de la mayoría de controles
visuales estándar:
Button (push, radio y check)
Frame, Dialog
Label
List, Choice
Scrollbar, ScrollPane
TextField, TextArea
Menu
2º Semestre 2010
Laboratorio de Programación III
3
AWT
Los elementos básicos que componen la librería AWT son:
Los componentes (java.awt.Component) como los:
Los contenedores (java.awt.Container) como los:
Frames, los Paneles, etc… que pueden contener componentes.
Los gestores de posición (java.awt.LayoutManager)
Button, Label, TextFields, etc
que gestionan la disposición de los componentes dentro de los
contenedores.
Los eventos (java.awt.AWTEvent)
que avisan de las acciones del usuario.
2º Semestre 2010
Laboratorio de Programación III
4
Interfaz Gráfica de Usuario (GUI)
GUI: Acrónimo de Graphics User Interfaces
“Componente de un sistema computacional que funciona
como vinculo entre una persona y un computador”
Ventana: Área rectangular que permite esta interacción.
Los programas se representan en una o varias ventanas.
Las interfaces de usuario deben ser faciles de usar
(USABILIDAD).
2º Semestre 2010
Laboratorio de Programación III
5
Elementos Gráficos
Frame
2º Semestre 2010
Laboratorio de Programación III
6
Elementos Gráficos
Label
2º Semestre 2010
Laboratorio de Programación III
TextField
7
Elementos Gráficos
CheckBox
CheckBoxGroup
2º Semestre 2010
Laboratorio de Programación III
8
Elementos Gráficos
Choice
List
2º Semestre 2010
Laboratorio de Programación III
9
Elementos Gráficos
TextArea
Button
2º Semestre 2010
Laboratorio de Programación III
10
Elementos Gráficos
Gestores de Geometría
FlowLayout
BorderLayout
2º Semestre 2010
Laboratorio de Programación III
GridLayout
11
Jerarquía de Objetos
2º Semestre 2010
Laboratorio de Programación III
12
Pasos para crear una UI
1.
El área donde crearemos el GUI será el proporcionado por un
contenedor, y que inicialmente será una ventana.
2.
Definir el gestor de geometría que usaremos para el contenedor.
Decidirá como se visualizan los componentes dentro del
contenedor.
3.
Crear los componentes que irán dentro del contenedor.
4.
Añadir (visualizar) los componentes dentro del contenedor.
5.
Enlazar con los escuchadores de eventos.
6.
Si los componentes que creamos son contenedores se repite el
ciclo otra vez.
2º Semestre 2010
Laboratorio de Programación III
13
Contenedores
Necesarios para organizar los
componentes en Grupos.
Todo componente debe incluirse dentro de un
contenedor
Los contenedores también son componentes
4 Tipos de Contenedores:
Frame
Dialog
Panel
ScrollPane
:
:
:
:
una ventana independiente
ventana emergente para dialogos
simplemente un marco
panel con barra de scroll
2º Semestre 2010
Laboratorio de Programación III
14
Diseño de una Ventana
Crear una ventana es el primer paso para
crear una UI.
2º Semestre 2010
Laboratorio de Programación III
15
Diseño de una Ventana
Marco de 300x300 pixels
No tiene barra de menú
No tiene ningún Componente
Título “Ejemplo de Frame"
Color de fondo por defecto
Layout por defecto
Fondo de la ventana vacío
2º Semestre 2010
Laboratorio de Programación III
16
Contenedores: Métodos Comunes
Añadir componente
Eliminar un componente
Component add(Component c)
panel.add(boton)
void remove(Componente c)
Elimina todos los componentes
void removeAll()
2º Semestre 2010
Laboratorio de Programación III
17
Componentes: Métodos Comunes
Pintar lo que esta dentro del componente
Pintar el fondo del componente
void setForeground(Color c)
void setBackground(Color c)
Establecer una fuente
void setFont(Font f)
2º Semestre 2010
Laboratorio de Programación III
18
Componentes: Métodos Comunes
Posicionamiento y Tamaño
void setSize(int x, int y)
void setLocation(Point p)
Ubicar el componente en un punto del contenedor
void setBounds(Rectangle r)
Establecer tamaño del componente
Establece las coordenadas del componente
Habilitación
void setEnabled(boolean b)
Habilitar/Deshabilitar un componente
void setVisible(boolean b)
Hacer visible/oculto el componente
2º Semestre 2010
Laboratorio de Programación III
19
Modificando la Ventana
Fijemos los colores de la ventana para que
el fondo sea Azul y el texto resalte en
Blanco.
Sentencia
setBackground( Color.blue );
setForeground( Color.white );
2º Semestre 2010
Laboratorio de Programación III
20
Modificando la Ventana
Mediante los métodos definidos en la clase Graphics, capturemos
el titulo de la ventana con una fuente Times Roman de 24 puntos.
Es necesario utilizar new con Font, ya que en Java, todos son
objetos y no podríamos utilizar un nuevo font de caracteres sin
antes haberlo creado.
Sentencia
public void paint( Graphics g ) {
g.setFont( new Font( "TimesRoman",Font.BOLD,24 ) );
g.drawString( getTitle(),30,50 );
}
Ahora cambiemos el color de la fuente dentro del método paint.
g.setColor( Color.yellow );
2º Semestre 2010
Laboratorio de Programación III
21
Clase Java.awt.Button
Descripción
Constructores
Control de pulsación
Button()
Button(String label)
Propiedades y Métodos
String getLabel()
void setLabel(String s)
2º Semestre 2010
Laboratorio de Programación III
22
Clase Java.awt.Label
Descripción
Constructores
Etiqueta de texto estático
Label()
Label(String label)
Label(String label, Label.LEFT|RIGTH|CENTER)
Propiedades y Métodos
String getText()
void setText (String s)
void setAlignment(Label.LEFT|RIGTH|CENTER)
2º Semestre 2010
Laboratorio de Programación III
23
Clase Java.awt.TextField
Descripción
Constructores
Área de texto editable (una línea)
Puede cambiar caracter (password)
TextField()
TextField(String label, int c)
TextField(int c)
Propiedades y Métodos
String getText()
String getSelectedText()
void setText(String s)
void setEchoChar(char c) carácter que cambia
void setAlignment(Label.LEFT|RIGTH|CENTER)
2º Semestre 2010
Laboratorio de Programación III
24
Clase Java.awt.TextArea
Descripción
Constructores
Área de texto editable (multilínea)
SCROLLBARS_BOTH
SCROLLBARS_NONE
SCROLLBARS_HORIZONTAL_ONLY
SCROLLBARS_VERTICAL_ONLY
TextArea()
TextArea(String tex)
TextArea(String tex, int fil, int col)
TextArea(String tex, int f, int c, int estilo)
Propiedades y Métodos
void append(String tex)
int getRows()
int getColumns()
void setRows(int f)
void setColumns(int c)
2º Semestre 2010
Laboratorio de Programación III
25
Clase Java.awt.Choice
Descripción
Constructores
Lista de selección desplegable
Choice()
Propiedades y Métodos
void add(String)
String getItem(int pos)
String getSelectedItem()
int getItemCount()
void insert(String s, int index)
void remove(int pos)//c: carácter que cambia
void remove(String item)//primera ocurrencia
void removeAll()//todos
void select(int pos)
void select(String s)
2º Semestre 2010
Laboratorio de Programación III
26
Clase Java.awt.List
Descripción
Constructores
Lista de selección (con deslizadores automáticos)
List()
List(int f)
List(int f, boolean mul) //mul : selección multiple true
Propiedades y Métodos
void add(String)
String getSelectedItem()
int getItemCount()
void remove(int pos)//c: carácter que cambia
void remove(String item)//primera ocurrencia
void removeAll()//todos
void select(int pos)
void select(String s)
2º Semestre 2010
Laboratorio de Programación III
27
Clase Java.awt.CheckBox
Descripción
Botones de comprobación
Se pueden agrupar (CheckBoxGroup)
Constructores
CheckBox()
CheckBox(String label, boolean est)// est: seleccionada
Propiedades y Métodos
String getLabel()
void setLabel(String s)
boolean getState()
void setState (boolean est)
2º Semestre 2010
Laboratorio de Programación III
28
Clase Java.awt.CheckBoxGroup
Descripción
Agrupación de botones (CheckBox)
Selección excluyente
Constructores
CheckBoxGroup()
CheckBox(String label, boolean est,
CheckBoxGroup chBG)// est: seleccionada
Propiedades y Métodos
CheckBox getSelectedCheckbox()
void setSelectedCheckBox(CheckBox chB)
2º Semestre 2010
Laboratorio de Programación III
29
Clase Java.awt.Frame
Descripción
Constructores
Contenedor principal
Frame()
Frame(String titulo)
Propiedades y Métodos
void setTitle(String s)
String getTitle()
void setCursor(int cursor)
void setResizable(boolean res)
void setIconImage(Image imagen)//.gif o jpg
2º Semestre 2010
Laboratorio de Programación III
30
Clase Java.awt.Scrollbar
Descripción
Constructores
Barra de desplazamiento
Scrollbar.HORIZONTAL
Scrollbar.VERTICAL
Scrollbar()
Scrollbar(int orient)
Scrollbar(int orient, int value, int visible, int min, int max)
Propiedades y Métodos
int getMaximum()
int getMinimum()
int getOrientation()
int getValue()
void setMaximum(int ma)
void setMinimum(int mi)
void setOrientation(int or)
void setValue(int val)
2º Semestre 2010
Laboratorio de Programación III
31
Ejercicio
Crear ventana que tenga un combo
(choice), un botón y una caja de texto
inhabilitada, dependiendo de la alternativa
seleccionada y presionando el botón
asignarlo a la caja de texto.
2º Semestre 2010
Laboratorio de Programación III
32