Вы находитесь на странице: 1из 29

Taller de Programación II :: JAVA ::

Trabajando
j con Componentes
p dentro de contenedores

Al final
fi l de
d esta
t presentación
t ió ell participante
ti i t seráá capaz de:
d
„ Identificar los componente básicos (Label, TextField y
B tt )
Button).
„ Implementar clases con interfaces WindowListener y
ActionListener.

Ing. Manuel Sánchez Chero,


Ing Chero MSc
manuelsanchezchero@gmail.com
Taller de Programación II :: JAVA ::

Componentes básicos
„ Los componentes básicos Label, TextField
y Button del paquete AWT:
Taller de Programación II :: JAVA ::
Componentes básicos
Label

„ Las etiquetas son como los cuadro de textos , salvo


que ell usuario
i no puede
d editarlas.
di l

Controles de tipo
L b l
Label.

„ Se puede utilizar las etiquetas para presentar


textos que no se pueden editarlas, o como su
nombre indica para etiquetar otros componentes.
Taller de Programación II :: JAVA ::
Componentes básicos
Label

„ Este es el diagrama de herencia de la clase Label.

„ Los constructores de la clase Label se muestra a


continuación.
C t t
Constructor D
Descripción
i ió
Label( ) Construye una etiqueta vacía
Label(String Texto) Construye una etiqueta con el texto indicado
Label(String Texto, int Construye una etiqueta que presenta la cadena
alineación) especificada con la alineación indicada
Taller de Programación II :: JAVA ::
Componentes básicos
Label

„ Los métodos de la clase Label se muestra a


continuación.

Mét d
Métodos D
Descripción
i ió
String getText ( ) Obtiene el Texto del Label
void setText(String Texto) Establece el texto que va en el Label

„ El texto de una etiqueta se puede justificar


pasándole al constructor del Label los campos
Label.LEFT, Label.CENTER y Label.RIGHT
Taller de Programación II :: JAVA ::
Componentes básicos
Label

„ Un ejemplo en un applet, utilizando la clase Label,


con su constructor Label(String
L b l(S i T
Texto, i alineación)
int li ió )

„ Como p puede observar en el código g (import


( p
java.applet.*), esto indica que es un applet.
Taller de Programación II :: JAVA ::
Componentes básicos
TextField

„ Los TextField son los componentes básicos de awt,


para soportar textos.
„ Estos componentes gestionan cadena de textos de
una dimensión.
dimensión
„ Permite visualizar el texto que el usuario escribe.

Controles de tipo
TextField.
Taller de Programación II :: JAVA ::
Componentes básicos
TextField

„ Estos componentes puede visualizar una sola línea


de texto y el usuario puede editarlo, este es el
diagrama de herencia de la clase TextField.

„ Los constructores de la clase TextField se muestra


a continuación.
C t t
Constructor D
Descripción
i ió
TextField() Construye un cuadro de Texto
TextField(int Columnas) Construye un cuadro de texto vacio con el número de
columnas indicadas
TextField(String Texto) Construye un cuadro de texto con el texto indicado
TextField(String
(S Texto, int Construye un cuadro de texto con el texto indicado y
C
Columnas) con el número de columnas indicadas
Taller de Programación II :: JAVA ::
Componentes básicos
TextField

„ Los métodos de la clase TextField se muestra a


continuación.

Mét d
Métodos D
Descripción
i ió
void addActionListener Añade el ActionListener indicado para recibir
(ActionListener) eventos
int getColumns() Obtiene el número de columnas del TextField

void setColumns(int
( columnas)) Establece el número de columnas del TextField
void setText(String Texto) Establece el texto que va en el TextField
Taller de Programación II :: JAVA ::
Componentes básicos
TextField

„ Un ejemplo, utilizando la clase TextField, con sus


constructores y el ActionListener.

Palabra reservada this,


this
es útil para hacer
referencial al objeto
actual, en este caso al
Frame.

Cuando el usuario
ingresa
g texto en el
primer TextField y
presiona enter pasa el
focus al segundo
TextField.
Taller de Programación II :: JAVA ::
Componentes básicos
Botones

„ Los botones proporcionan al usuario una forma de


i i i
iniciar alguna
l acción.

Controles de
tipo Button.

„ Todo usuario de GUI está familiarizado con los


botones, esos controles elementales sobre los que
se hace clic para indicar a un programa que debe
empezar a realizar alguna acción.
acción
Taller de Programación II :: JAVA ::
Componentes básicos
Botones

„ Los botones están soportado en la clase


j
java.awt.Button,
B esta es la
l jerarquía
j í de
d lla clase.
l

„ Los constructores de la clase Button se muestra a


continuación.

Constructor Descripción
B tt
Button C t
Construye un botón
b tó sin
i etiqueta
ti t
Button(String Etiqueta) Construye un botón con etiqueta
Taller de Programación II :: JAVA ::
Componentes básicos
Botones

„ Un ejemplo, utilizando la clase Button, con sus


constructores en un applet.
l
Taller de Programación II :: JAVA ::
Componentes básicos
Botones

„ Para gestionar los eventos de los botones se usa la


i
interfaz
f A i Li
ActionListener, esta interfaz
i f tiene
i como
único método actionPerformed, al que se le pasa
un objeto a la clase ActionEvent cuando se hace
clic
li sobre
b ell botón.
b tó

ActionListener

Método Descripción
void addActionListener(ActionListener) Añade el ActionListener indicado para
recibir eventos del botón
String getActionCommand( ) Obtiene el comando del evento producido
ppor el botón.
Taller de Programación II :: JAVA ::
Componentes básicos
Botones

„ Este es el diagrama
g de la herencia de la clase
ActionEvent.

„ Todos los métodos de la clase ActionEvent, se


muestran a continuación.

Método Descripción
String getActionCommand( ) Obtiene la cadena del comando
String paramString( ) Obtiene una cadena que identifica el evento.
Taller de Programación II :: JAVA ::
Componentes básicos
Botones

„ Implementando una clase BotonesConColores de tipo Frame he


implementando la interfaz ActionListener.
Taller de Programación II :: JAVA ::
Componentes básicos
Botones

„ Hay dos formas para determinar qué botón se seleccionó, usando el


método getSource y usando comando.

Primero, veremos
cómo se hace esto
con getSource, he
aquí un ejemplo.
Taller de Programación II :: JAVA ::
Componentes básicos
Botones
„ También se puede obtener el comando para el botón sobre el que se
hizo clic, usando el método getActionCommand

Veremos cómo se
hace esto con
getActionCommand,
he aquí un ejemplo.
Taller de Programación II :: JAVA ::
Componentes básicos
Actividad

„ Realizar la siguiente interfaz gráfica, que permita ingresar


dos número
ú y mostrar el resultado al hacer clic en el botón
ó
Calcular

clic

Sugerencias
„ Importar el paquete java.awt.*
„ Utilizar herencias extends Frame.
„ Implementar los Listener ActionListener y WindowListener
Taller de Programación II :: JAVA ::
Componentes básicos
Solución
Realizar los siguientes pasos:
„ Crear la Clase Sumar que herede la Clase Frame
„ Implementa las interfaces
Implementar inte faces ActionListener
ActionListene y WindowListener
Windo Listene
„ Implementar el método main y su constructor.

package ClasesGraficas;
import java.awt.*;
import java.awt.event.*;
public class Sumar extends Frame implements WindowListener, ActionListener {
Método
public Sumar()
p { }
Constructor

public void windowActivated(WindowEvent arg0) { }


public void windowClosed(WindowEvent arg0) { } Métodos
public void windowClosing(WindowEvent arg0) { } Implementados
por
public
bli void
id windowDeactivated(WindowEvent
i d i d( i d arg0)
0) { }
WindowListener
public void windowDeiconified(WindowEvent arg0) { }
public void windowIconified(WindowEvent arg0) { }
public void windowOpened(WindowEvent arg0) { } Método
Implementado
p p
por
public void actionPerformed(ActionEvent arg0) { } ActionListener

public static void main(String[] args) { } Método main


}
Taller de Programación II :: JAVA ::
Componentes básicos
Solución

Realizar los siguientes pasos:


„ Declarar los objetos en la clase

package ClasesGraficas;
import java.awt.*;
import java.awt.event.*;
public class Sumar extends Frame implements WindowListener, ActionListener {

Label lblvalor1=new Label(


Label("Numero
Numero 1");
1 );
Label lblvalor2=new Label("Numero 2");
Label lblresultado=new Label("Resultado");
TextField txtvalor1=new TextField();
();
Declaración
D l ió de
d
TextField txtvalor2=new TextField(); Objetos en la
TextField txtresultado=new TextField(); clase
Button cmdlimpiar=new Button("Limpiar");
Button cmdcalcular=new Button(
Button("Calcular");
Calcular );
Button cmdcerrar=new Button("Cerrar");

}
Taller de Programación II :: JAVA ::
Componentes básicos
Solución
„ Ir al método constructor y escribir el siguiente código

public Sumar() {
super("Operaciones");
setLayout(null);
setBackground(Color.lightGray);
setSize(300,150);
show();
addWindowListener(this);
ddWi d Li t (thi )
lblvalor1.setBounds(20,40,60,20);
txtvalor1.setBounds(90,40,60,20);
lblvalor2.setBounds(20,65,60,20);
txtvalor2.setBounds(90,65,60,20);
lblresultado setBounds(20 90 60 20);
lblresultado.setBounds(20,90,60,20);
txtresultado.setBounds(90,90,60,20);
Código dentro del
cmdlimpiar.setBounds(160,40,60,20);
método constructor
cmdcalcular.setBounds(160,65,60,20);
cmdcerrar.setBounds(160,90,60,20);
add(lblvalor1);
add(txtvalor1);
add(lblvalor2);
add(txtvalor2);
add(lblresultado);
txtresultado setEnabled(false);
txtresultado.setEnabled(false);
add(txtresultado);
add(cmdlimpiar);
cmdlimpiar.addActionListener(this);
add(cmdcalcular);
cmdcalcular.addActionListener(this);
add(cmdcerrar);
cmdcerrar.addActionListener(this);

}
Taller de Programación II :: JAVA ::
Componentes básicos
Solución

public Sumar() {
super( Operaciones );
super("Operaciones");
setLayout(null);
setBackground(Color.lightGray);
setSize(300,150);
show();
addWindowListener(this);
}

Descripción del Código


„ Se llama al método super del constructor para ponerle un título al
Frame.
„ Se utiliza un gestor de esquema para poder poner los componentes
en diferente ubicación para ello se utiliza setLayout(null).
„ Para colocar un determinado color de fondo se utiliza
setBackground(Color.lightGray).
tB k d(C l li htG )
„ Para determinar el tamaño del frame, se utiliza setSize(300,150).
„ Para mostrar el Frame, se utiliza show().
„ Y por último indicamos que el Frame pueda escuchar los eventos con
el método addWindowListener(this).
Taller de Programación II :: JAVA ::
Componentes básicos
Solución

public Sumar() {
lblvalor1.setBounds(20,40,60,20);
txtvalor1.setBounds(90,40,60,20);
lblvalor2.setBounds(20,65,60,20);
txtvalor2.setBounds(90,65,60,20);
lblresultado.setBounds(20,90,60,20);
txtresultado setBounds(90 90 60 20);
txtresultado.setBounds(90,90,60,20);
cmdlimpiar.setBounds(160,40,60,20);
cmdcalcular.setBounds(160,65,60,20);
cmdcerrar.setBounds(160,90,60,20);
}

Descripción del Código


„ Antes de mostrar los componentes utilizamos el método setBounds, para
fijar la posición y tamaño de los componentes dentro del frame.
„ void java.awt.Component.setBounds(int x, int y, int ancho, int altura)
Taller de Programación II :: JAVA ::
Componentes básicos
Solución
public Sumar() {
….
…..
add(lblvalor1);
add(txtvalor1);
add(lblvalor2);
add(txtvalor2);
add(lblresultado);
txtresultado.setEnabled(false);
add(txtresultado);
add(cmdlimpiar);
cmdlimpiar.addActionListener(this); Se le da la funcionalidad a
add(cmdcalcular); los botones para que
cmdcalcular.addActionListener(this); escuche los eventos y
adicionamos los
add(cmdcerrar); componentes al frame
cmdcerrar.addActionListener(this);
}

Descripción del Código


„ Después de haber fijado la posición y tamaño de los componentes dentro
del frame, se procede adicionarlos para ser mostrados add(componente)
„ Para que los Botones escuchen los eventos se utiliza
cmdlimpiar.addActionListener(this);
Taller de Programación II :: JAVA ::
Componentes básicos
Solución
„ Ir al método actionPerformed y escribir el siguiente código
public void actionPerformed(ActionEvent e) {
d bl v1=0,v2=0,r=0;
double 1 0 2 0 0
if(e.getSource()==cmdlimpiar){
txtvalor1.setText("");
txtvalor2.setText("");
txtresultado setText("");
txtresultado.setText("");
txtvalor1.requestFocus(); }

if(e.getSource()==cmdcalcular){
v1=Double valueOf(txtvalor1 getText()) doubleValue();
v1=Double.valueOf(txtvalor1.getText()).doubleValue(); Código para el botón
v2=Double.valueOf(txtvalor2.getText()).doubleValue(); cmdcalcular, para mostrar el
r=v1+v2; resultado de la operación
realizada
txtresultado.setText(Double.toString(r)); }

if(e.getSource()==cmdcerrar){
System.exit(0); }
}

Descripción del Código


„ Pregunta por el nombre del objeto.
„ Convierte una cadena a un valor double
double.
v1=Double.valueOf(txtvalor1.getText()).doubleValue();
„ Muestra el Resultado txtresultado.setText(Double.toString(r));
Taller de Programación II :: JAVA ::
Componentes básicos
Solución
public void windowClosing(WindowEvent e) {
System.exit(0);
}

public
bli static
t ti void
id main(String[]
i (St i [] args)) {
Sumar frmsuma= new Sumar( ); }
}
Creación de un objeto
frmsuma de tipo Sumar

Descripción del Código

„ Ir al método windowClosing para indicarle al frame que cuando se haga clic en el boton , se
debe cerrar .
„ Y por último crear el objeto frmsuma en el método main,
Sumar frmsuma= new Sumar( );

Nota :
„ Se adjunta el código completo de la Clase Sumar, el
participante puede importar dicha clase.
Taller de Programación II :: JAVA ::

Muy bien, hemos aprendido a


utilizar los componentes Label,
TextField y Button y su
implementación de los
Listener, ahora inténtalo en tu
computador.
computador

Recuerda que puedes ver este


tutorial las veces que deseas.

FELICITACIONES!!
C CO S
Taller de Programación II :: JAVA ::

Créditos

CREDITOS

Este tutorial fue realizado y


editado por:

Manuel Jesús Sánchez Chero


Tutor Virtual de Educación a
Distancia
Chiclayo - Perú
Versión 1.0

Вам также может понравиться