UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMATICAS Y FISICA
TEMA
LISTENER VS ADAPTER (KeyListener & KeyAdapter)
INTEGRANTES
JOSE MANUEL MARIÑO ORTIZ
MELL NAOMI MAINATO ACOSTA
PROFESORA
ING. MARIELA ESPINOZA Msc.
CURSO
TINS-MA-4-5
AÑO LECTIVO
2021-2022
Contenido
Introducción ........................................................................................................................... 3
Objetivos ................................................................................................................................. 3
KeyListener & KeyAdapter ................................................................................................... 4
Definiciones .................................................................................................................................. 4
Listener .................................................................................................................................... 4
Adapter .................................................................................................................................... 4
KeyListener .............................................................................................................................. 4
KeyAdapter .............................................................................................................................. 4
¿Cómo funciona la interfaz keylistener? ..................................................................................... 5
¿Cómo funciona la clase keyadapter? ......................................................................................... 5
Los 3 métodos de KeyListener .................................................................................................... 5
Ejemplificación de cada Método ................................................................................................. 5
Método KEYPRESSED ........................................................................................................... 8
Método KEYRELEASED........................................................................................................ 9
Método KEYTYPED ............................................................................................................. 10
Ejecución del GUI .................................................................................................................. 10
Conclusión ............................................................................................................................ 11
Bibliografía ........................................................................................................................... 12
Introducción
Nuestra investigación se centra en los temas de listener y adapter los cuales vamos a
tener que definir, ejemplificar y comparar porque conocemos que cada uno tiene una diferente
función.
Con la investigación de listener y adapter también vamos poder reforzar las clases que
ya fueron impartidas por nuestra profesora, para comenzar la investigación también hay que
saber que existen un sin número de listener y adapter pero en este informe vamos a resaltar
sobre el KeyListener y KeyAdapter.
Además, también vamos a aprender no solo de sus definiciones si no vamos a reconocer
como funciona su interfaz mediante código, los métodos que utilizan, que se puede hacer con
los métodos y así poder implementarlos como interfaz gráfica.
Esta investigación nos va a servir de apoyo y soporte de nuestro conocimiento al
momento de realizar cualquier programa que requiera este tipo de herramientas.
Objetivos
Conceptualizar los diferentes tipos de KeyListener y KeyAdapter
Utilizar ejemplos de ellos como método de aprendizaje
Averiguar los métodos que contienen
KeyListener & KeyAdapter
Definiciones
Listener
Es una interfaz el cual emplea el encapsulamiento de información la cual es enviada a una
aplicación, y estos eventos tienen un listener correspondiente.
Adapter
Son las clases las cuales se utilizan en una interface que sea listener, y son muy eficaces solo
para las interfaces listener con las que tienen más de un método
KeyListener
Este debería conceptualizar todos los procedimientos en ella. Esta clase abstracta define
procedimientos nulos para todos ellos, por lo cual solo puede tener que conceptualizar
procedimientos para los eventos que le interesan).
KeyAdapter
Es una clase adaptadora abstracta para recibir eventos de teclado. Los procedimientos de esta clase
permanecen vacíos. Esta clase existe como conveniencia para la construcción de objetos oyentes.
¿Cómo funciona la interfaz keylistener?
La interfaz KeyListener escucha eventos clave y ejecuta alguna acción. El testimonio de esta
interfaz se muestra después.
¿Cómo funciona la clase keyadapter?
Esta clase existe como conveniencia para producir objetos de escucha. Alarga esta clase para
producir un KeyEventoyente y anular los procedimientos para los eventos de interés. Esta clase
abstracta define procedimientos nulos para todos ellos, por lo cual solo puede tener que conceptualizar
procedimientos para los eventos que le interesan). Presume un objeto de escucha utilizando la clase
amplia y después regístrelo con un elemento utilizando el addKeyListener procedimiento del
elemento.
Los 3 métodos de KeyListener
El método keyPressed(KeyEvent e) Este se llamara solo cuando se presione una tecla.
El método keyReleased(KeyEvent e) Este se ejecutara solo cuando se suelte la tecla.
El método keyTyped(KeyEvent e) Este aparecerá solo cuando una tecla escriba un
carácter.
Ejemplificación de cada Método
En el siguiente ejemplo se trata de que nos permita ingresar un texto la cual denominaremos
“área entrada de texto” y en la parte de abajo la cual se llamara “área salida de texto” nos
permitirá conocer las vocales que contengan el texto que ingresamos, y a su vez nos mostrara
la cantidad de vocales
Para empezar, crearemos la ventana la cual denominaremos Aplicación
package key_adapter_ejemplos;
public class Aplicacion {
public static void main(String args[]) {
Ventana ventana;
ventana = new Ventana();
[Link](true);
}
}
Luego de esto crearemos la ventana la cual corresponde a la GUI de este sistema, en este caso
vamos a empezar a utilizar lo investigado que será la interfaz implements keylistener, aquí
nos muestra los componentes que utilizamos Jlabel, JTextArea, JscrollPane y JscrollPane
package key_adapter_ejemplos;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
class Ventana extends JFrame
implements KeyListener {
JLabel labelTitulo;
JLabel labelAreaEntrada;
JLabel labelAreaSalida;
JLabel labelSalida;
JLabel labelContadorVocales;
JTextArea areaEntradaDeTexto;
JScrollPane scrollPaneAreaEntrada;
JTextArea areaSalidaDeTexto;
JScrollPane scrollPaneAreaSalida;
int cantidadVocales=0;
String vocales="";
public Ventana() {
setLayout(null);
iniciaComponentes();
//Asigna un titulo a la barra de titulo
setTitle("CoDejaVu : Ventana Eventos del Teclado");
//tamaño de la ventana
setSize(550,350);
//pone la ventana en el Centro de la pantalla
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void iniciaComponentes() {
labelTitulo= new JLabel();
[Link](new [Link]("Comic Sans MS", 0, 28));
[Link]([Link]);
[Link]("Eventos del Teclado");
[Link]([Link].
createBevelBorder([Link]));
[Link](110, 20, 300, 40);
labelAreaEntrada= new JLabel();
[Link](10, 70, 180, 40);
[Link]("Area Entrada de Texto");
areaEntradaDeTexto = new JTextArea();
[Link](true);
[Link](this);
scrollPaneAreaEntrada = new JScrollPane();
[Link](10, 100, 513, 70);
[Link](areaEntradaDeTexto);
labelAreaSalida= new JLabel();
[Link](10, 170, 180, 40);
[Link]("Area Salida de Texto");
areaSalidaDeTexto = new JTextArea();
[Link](true);
[Link](this);
scrollPaneAreaSalida = new JScrollPane();
[Link](10, 200, 513, 70);
[Link](areaSalidaDeTexto);
labelContadorVocales = new JLabel();
[Link](380, 280, 190, 20);
labelSalida = new JLabel();
[Link]("Para salir presione la tecla Escape");
[Link](10, 280, 210, 20);
add(labelTitulo);
add(labelSalida);
add(labelContadorVocales);
add(labelAreaEntrada);
add(labelAreaSalida);
add(scrollPaneAreaEntrada);
add(scrollPaneAreaSalida);
}
Después vamos a aplicar los métodos de los keylistener para así poder ejecutar las diferentes acciones
que contiene el programa
Método KEYPRESSED
Este método se ejecuta cuando se presiona una tecla
public void keyPressed(KeyEvent e) { // METODO KEYPRESSED
if ([Link]()==areaEntradaDeTexto)
{
if (e.VK_A==[Link]())
{
vocales+="a ";
cantidadVocales++;
}
if (e.VK_E==[Link]())
{
vocales+="e ";
cantidadVocales++;
}
if (e.VK_I==[Link]())
{
vocales+="i ";
cantidadVocales++;
}
if (e.VK_O==[Link]())
{
vocales+="o ";
cantidadVocales++;
}
if (e.VK_U==[Link]())
{
vocales+="u ";
cantidadVocales++;
}
}
[Link](vocales);
[Link]("Numero Vocales: "+cantidadVocales);
}
Método KEYRELEASED
Este método se ejecuta cuando se suelta una tecla
public void keyReleased(KeyEvent e) { //METODO KEYRELEASED
[Link]("Soltó la tecla: "+[Link]([Link]()));
if ([Link]()==areaEntradaDeTexto)
{
if (e.VK_ESCAPE==[Link]())
{
int respuesta = [Link](this,
"Esta seguro que desea salir?", "Confirmación",
JOptionPane.YES_NO_OPTION);
if (respuesta == JOptionPane.YES_NO_OPTION)
{
[Link](0);
}
}
}
}
Método KEYTYPED
Aquí en este ejercicio no utilizamos el Keytyped pero es igual que importante dejarlo
estipulado ya que es un principio del trabajo con interfaces las cuales debemos que usar todos
los métodos de esta.
public void keyTyped(KeyEvent e)
{ //METODO KEYTYPED
}
}
Ejecución del GUI
Conclusión
Luego de culminar la investigación y de realizar la respectiva practica acerca de el uso
de la interface KeyListener y de la clase KeyAdapeter, podemos concluir que estas son muy
importantes e indispensables al momento de querer programar distintos eventos en nuestras
interfaces graficas ya que estas nos facilitan mucho la cosas, debido a los métodos que nos
ofrecen.
En el caso del keyAdapeter tenemos 3 métodos que podemos utilizar dependiendo de
nuestras necesidades y de cómo queramos personalizar cada evento, podemos configurar para
que el evento se ejecute al momento de presionar un botón, cuando presione y se suelte la
tecla o incluso cuando una tecla escriba un carácter.
Para el desarrollo de estos ejercicios utilizamos la interface de desarrollo Eclipse de
java ya que esta es una herramienta muy completa al momento de querer desarrollar
programas con lenguaje de programación orientado a objetos.
Y lo importante de esta investigación es que al final alcanzamos a cumplir los
objetivos que propusimos al inicio de esta investigación ya que conceptualizamos los
diferentes tipos de KeyListener y KeyAdapter, utilizamos ejemplos de ellos como método de
aprendizaje, averiguamos los métodos que contienen el keylistener
Bibliografía
What is better: Key Listener or key Adapter? (2018, 9 agosto). Stack Overflow.
[Link]
adapter
Java Code Examples for [Link]. (s. f.). programcreek. Recuperado 9 de
febrero de 2022, de [Link]
examples/?api=[Link]
Irfan, M. (2021, 20 noviembre). Utilice KeyListener en Java. Delft Stack. Recuperado 9 de
febrero de 2022, de [Link]
Henao., C. (s. f.). Ejemplo Eventos del Teclado en Java. codejavu. Recuperado 9 de febrero
de 2022, de [Link]