Upload
manuel-sanchez-chero
View
13.590
Download
0
Embed Size (px)
Citation preview
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]
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:
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.
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
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
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.
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.
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
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
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.
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.
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
Taller de Programación II :: JAVA ::Componentes básicos
BotonesBotones
Un ejemplo, utilizando la clase Button, con suslconstructores en un applet.
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
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.
Taller de Programación II :: JAVA ::Componentes básicos
BotonesBotones
Implementando una clase BotonesConColores de tipo Frame heimplementando la interfaz ActionListener.
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.
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.
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
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
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");
}}
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);
}
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).
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)
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);
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));
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.
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
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