java componentes awt

29
Taller de Programación II :: JAVA :: Taller de Programación II :: JAVA :: Trabajando con Componentes dentro de contenedores Al fi l d t t l ti i t á d Al final de esta presentacnel participante será capaz de: Identificar los componente básicos (Label, TextField y B tt ) Button). Implementar clases con interfaces WindowListener y ActionListener. Ing Manuel Sánchez Chero MSc Ing. Manuel Sánchez Chero, MSc [email protected]

Upload: manuel-jesus-sanchez-chero

Post on 18-Nov-2014

145 views

Category:

Documents


0 download

DESCRIPTION

Componentes de Java Awt

TRANSCRIPT

Page 1: Java Componentes AWT

Taller de Programación II :: JAVA ::Taller de Programación II :: JAVA ::

Trabajando con Componentes dentro de contenedores

Al fi l d t t ió l ti i t á d

j p

Al final de esta presentación el participante será capaz de:

Identificar los componente básicos (Label, TextField yB tt )Button).

Implementar clases con interfaces WindowListener yActionListener.

Ing Manuel Sánchez Chero MScIng. Manuel Sánchez Chero, [email protected]

Page 2: Java Componentes AWT

Taller de Programación II :: JAVA ::

Componentes básicosComponentes básicosLos componentes básicos Label, TextFieldy Button del paquete AWT:y Button del paquete AWT:

Page 3: Java Componentes AWT

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

LabelLabel

Las etiquetas son como los cuadro de textos , salvol i d di lque el usuario no puede editarlas.

Controles de tipoL b lLabel.

Se puede utilizar las etiquetas para presentarSe puede utilizar las etiquetas para presentartextos que no se pueden editarlas, o como sunombre indica para etiquetar otros componentes.

Page 4: Java Componentes AWT

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

LabelLabel

Este es el diagrama de herencia de la clase Label.

Los constructores de la clase Label se muestra acontinuación.

C t t D i ióConstructor DescripciónLabel( ) Construye una etiqueta vacíaLabel(String Texto) Construye una etiqueta con el texto indicadoLabel(String Texto) Construye una etiqueta con el texto indicadoLabel(String Texto, int alineación)

Construye una etiqueta que presenta la cadenaespecificada con la alineación indicada

Page 5: Java Componentes AWT

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

LabelLabel

Los métodos de la clase Label se muestra aLos métodos de la clase Label se muestra acontinuación.

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

El texto de una etiqueta se puede justificarEl texto de una etiqueta se puede justificarpasándole al constructor del Label los camposLabel.LEFT, Label.CENTER y Label.RIGHT

Page 6: Java Componentes AWT

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

LabelLabel

Un ejemplo en un applet, utilizando la clase Label,L b l(S i T i li ió )con su constructor Label(String Texto, int alineación)

Como puede observar en el código (importp g ( pjava.applet.*), esto indica que es un applet.

Page 7: Java Componentes AWT

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

TextFieldTextField

Los TextField son los componentes básicos de awt,para soportar textos.

Estos componentes gestionan cadena de textos deuna dimensiónuna dimensión.

Permite visualizar el texto que el usuario escribe.

Controles de tipoTextField.

Page 8: Java Componentes AWT

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

TextFieldTextField

Estos componentes puede visualizar una sola líneade texto y el usuario puede editarlo, este es elde texto y el usuario puede editarlo, este es eldiagrama de herencia de la clase TextField.

Los constructores de la clase TextField se muestraa continuación.

C t t D i ióConstructor DescripciónTextField() Construye un cuadro de TextoTextField(int Columnas) Construye un cuadro de texto vacio con el número deTextField(int Columnas) Construye un cuadro de texto vacio con el número de

columnas indicadasTextField(String Texto) Construye un cuadro de texto con el texto indicado

(S CTextField(String Texto, int Columnas)

Construye un cuadro de texto con el texto indicado ycon el número de columnas indicadas

Page 9: Java Componentes AWT

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

TextFieldTextField

Los métodos de la clase TextField se muestra aLos métodos de la clase TextField se muestra acontinuación.

Mét d D i ióMétodos Descripciónvoid addActionListener (ActionListener)

Añade el ActionListener indicado para recibir 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

Page 10: Java Componentes AWT

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

TextFieldTextField

Un ejemplo, utilizando la clase TextField, con susconstructores y el ActionListener.y

Palabra reservada thisPalabra reservada this,es útil para hacerreferencial al objetoactual, en este caso alFrame.

Cuando el usuarioingresa texto en elgprimer TextField ypresiona enter pasa elfocus al segundoTextField.

Page 11: Java Componentes AWT

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

BotonesBotones

Los botones proporcionan al usuario una forma dei i i l ióiniciar alguna acción.

Controles detipo Button.tipo Button.

Todo usuario de GUI está familiarizado con losTodo usuario de GUI está familiarizado con losbotones, esos controles elementales sobre los quese hace clic para indicar a un programa que debeempezar a realizar alguna acciónempezar a realizar alguna acción.

Page 12: Java Componentes AWT

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

BotonesBotones

Los botones están soportado en la clasej B l j í d l ljava.awt.Button, esta es la jerarquía de la clase.

Los constructores de la clase Button se muestra acontinuación.

Constructor DescripciónB tt C t b tó i ti tButton Construye un botón sin etiquetaButton(String Etiqueta) Construye un botón con etiqueta

Page 13: Java Componentes AWT

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

BotonesBotones

Un ejemplo, utilizando la clase Button, con suslconstructores en un applet.

Page 14: Java Componentes AWT

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

BotonesBotones

Para gestionar los eventos de los botones se usa lai f A i Li i f iinterfaz ActionListener, esta interfaz tiene comoúnico método actionPerformed, al que se le pasaun objeto a la clase ActionEvent cuando se haceli b l b tóclic sobre el botón.

ActionListenerActionListener

Método Descripciónvoid addActionListener(ActionListener) Añade el ActionListener indicado para

recibir eventos del botónString getActionCommand( ) Obtiene el comando del evento producido

por el botón.p

Page 15: Java Componentes AWT

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

Botones

Este es el diagrama de la herencia de la clase

Botones

gActionEvent.

Todos los métodos de la clase ActionEvent, semuestran a continuación.

Método DescripciónString getActionCommand( ) Obtiene la cadena del comandoString paramString( ) Obtiene una cadena que identifica el evento.

Page 16: Java Componentes AWT

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

BotonesBotones

Implementando una clase BotonesConColores de tipo Frame heimplementando la interfaz ActionListener.

Page 17: Java Componentes AWT

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

BotonesBotones

Hay dos formas para determinar qué botón se seleccionó, usando elmétodo getSource y usando comando.

Primero, veremoscómo se hace estocómo se hace estocon getSource, heaquí un ejemplo.

Page 18: Java Componentes AWT

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

BotonesBotonesTambién se puede obtener el comando para el botón sobre el que sehizo clic, usando el método getActionCommand

Veremos cómo sehace esto conhace esto congetActionCommand,he aquí un ejemplo.

Page 19: Java Componentes AWT

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

ActividadActividad

Realizar la siguiente interfaz gráfica, que permita ingresarú ódos número y mostrar el resultado al hacer clic en el botón

Calcular

clicclic

SugerenciasSugerencias

Importar el paquete java.awt.*

Utilizar herencias extends Frame.

Implementar los Listener ActionListener y WindowListener

Page 20: Java Componentes AWT

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

SoluciónSoluciónRealizar los siguientes pasos:

Crear la Clase Sumar que herede la Clase Frame

Implementa las inte faces ActionListene Windo ListeneImplementar las interfaces ActionListener y WindowListener

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 {

public Sumar() { } Método Constructorp

public void windowActivated(WindowEvent arg0) { }public void windowClosed(WindowEvent arg0) { }public void windowClosing(WindowEvent arg0) { }bli id i d i d( i d 0) { }

Métodos Implementados

por

Constructor

public void windowDeactivated(WindowEvent arg0) { }public void windowDeiconified(WindowEvent arg0) { }public void windowIconified(WindowEvent arg0) { }public void windowOpened(WindowEvent arg0) { }

por WindowListener

Método Implementado por

public void actionPerformed(ActionEvent arg0) { }

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

p pActionListener

Método main

Page 21: Java Componentes AWT

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

SoluciónSolución

Realizar los siguientes pasos:

Declarar los objetos en la claseDeclarar 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("Numero 1");Label lblvalor1=new Label( Numero 1 );Label lblvalor2=new Label("Numero 2");Label lblresultado=new Label("Resultado");TextField txtvalor1=new TextField();

D l ió d ();

TextField txtvalor2=new TextField();TextField txtresultado=new TextField();Button cmdlimpiar=new Button("Limpiar");Button cmdcalcular=new Button("Calcular");

Declaración de Objetos en la

clase

Button cmdcalcular=new Button( Calcular );Button cmdcerrar=new Button("Cerrar");

}}

Page 22: Java Componentes AWT

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

SoluciónSoluciónIr al método constructor y escribir el siguiente código

public Sumar() {super("Operaciones");setLayout(null);setBackground(Color.lightGray);setSize(300,150);show();ddWi d Li t (thi )addWindowListener(this);

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);cmdlimpiar.setBounds(160,40,60,20);cmdcalcular.setBounds(160,65,60,20);cmdcerrar.setBounds(160,90,60,20);add(lblvalor1);

Código dentro del método constructor

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);cmdcalcular.addActionListener(this);add(cmdcerrar);cmdcerrar.addActionListener(this);

}

Page 23: Java Componentes AWT

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

SoluciónSolució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 alFrame.

Se utiliza un gestor de esquema para poder poner los componentesen diferente ubicación para ello se utiliza setLayout(null).

Para colocar un determinado color de fondo se utilizatB k d(C l li htG )setBackground(Color.lightGray).

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 conel método addWindowListener(this).

Page 24: Java Componentes AWT

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

SoluciónSolució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, parafijar 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)

Page 25: Java Componentes AWT

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

SoluciónSoluciónpublic Sumar() {

….…..add(lblvalor1);add(txtvalor1);add(lblvalor2);add(txtvalor2);add(txtvalor2);add(lblresultado);txtresultado.setEnabled(false);add(txtresultado);add(cmdlimpiar);add(cmdlimpiar);cmdlimpiar.addActionListener(this);add(cmdcalcular);cmdcalcular.addActionListener(this);add(cmdcerrar);

Se le da la funcionalidad a los botones para que escuche los eventos y

adicionamos los add(cmdcerrar);cmdcerrar.addActionListener(this);

}

componentes al frame

Descripción del Código

Después de haber fijado la posición y tamaño de los componentes dentrodel frame, se procede adicionarlos para ser mostrados add(componente)

Para que los Botones escuchen los eventos se utilizacmdlimpiar.addActionListener(this);

Page 26: Java Componentes AWT

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

SoluciónSolución

public void actionPerformed(ActionEvent e) {d bl 1 0 2 0 0

Ir al método actionPerformed y escribir el siguiente código

double v1=0,v2=0,r=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();v2=Double.valueOf(txtvalor2.getText()).doubleValue();r=v1+v2;txtresultado.setText(Double.toString(r)); }

Código para el botón cmdcalcular, para mostrar el

resultado de la operación realizada

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

Descripción del Código

Pregunta por el nombre del objeto.

Convierte una cadena a un valor doubleConvierte una cadena a un valor double.v1=Double.valueOf(txtvalor1.getText()).doubleValue();

Muestra el Resultado txtresultado.setText(Double.toString(r));

Page 27: Java Componentes AWT

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

SoluciónSolución

public void windowClosing(WindowEvent e) {System.exit(0);

}}

bli t ti id i (St i [] ) {

Creación de un objeto

public static void main(String[] args) {Sumar frmsuma= new Sumar( ); }

}

Descripción del Código

Creación de un objetofrmsuma de tipo Sumar

Ir al método windowClosing para indicarle al frame que cuando se haga clic en el boton , sedebe cerrar .

Y por último crear el objeto frmsuma en el método main,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, elparticipante puede importar dicha clase.

Page 28: Java Componentes AWT

Taller de Programación II :: JAVA ::

Muy bien, hemos aprendido autilizar los componentes Label,TextField y Button y suTextField y Button y suimplementación de losListener, ahora inténtalo en tucomputadorcomputador.

Recuerda que puedes ver esteRecuerda que puedes ver estetutorial las veces que deseas.

FELICITACIONES!!C C O S

Page 29: Java Componentes AWT

Taller de Programación II :: JAVA ::Taller de Programación II :: JAVA ::

CréditosCréditos

CREDITOS

Este tutorial fue realizado yeditado por:

Manuel Jesús Sánchez CheroTutor Virtual de Educación a

DistanciaDistanciaChiclayo - Perú

Versión 1.0