Saludos, tengo el siguiente código el cuál me imprime el ID y el tiempo de duración de X número de procesos. El problema es que tengo que agregarle un evento de teclado, una vez que está corriendo el programa, si yo oprimo la tecla E me tiene que salir un mensaje de error y continuar con la ejecucion de procesos, y si oprimo la tecla S la ejecucion para por completo. Busqué información de keyListener y trate de agregarle el evento de teclado como pude, pero no funciona correctamente y no sé que estoy haciendo mal
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import javax.swing.*;
private boolean puedeImprimir;
private int ID,numeroCanicas,Tiempo;
public Hilo
(JTextArea areaTextox,
int numeroCanicasx
) {
areaTexto = areaTextox;
puedeImprimir = true;
numeroCanicas = numeroCanicasx;
ID = 1;
}
{
if(e.getKeyCode() == 69)
System.
out.
println("Error de"); if(e.getKeyCode() == 83)
puedeImprimir = false;
}
public void run()
{
for(int i = 0;i < numeroCanicas;i++)
{
try
{
Tiempo = (int)(t.nextDouble() * 5 + 1);
this.imprimirDatos(Tiempo,ID);
Tiempo*=1000;
this.ID++;
}
{
e.printStackTrace();
}
}
}
public void imprimirDatos(int Tiempo,int ID)
{
areaTexto.append("ID: "+id+"\tTiempo: "+tiempo+"\n");
}
}
private int numeroCanicas;
private Hilo hilo;
public Interfaz()
{
numeroCanicas = (int)(n.nextDouble() * 10 + 1);
System.
out.
println(""+numeroCanicas
); etiqueta
= new JLabel("Número Canicas : "+numeroCanicas
); etiqueta.setBounds(10, 11, 96, 14);
hilo = new Hilo(areaTexto,numeroCanicas);
hilo.start();
addKeyListener(this);
}
hilo.letraOprimida(e);
}
}
public void keyReleased
(KeyEvent arg0
) { }
}
public class Canicas {
public static void main
(String[] args
) { Interfaz interfaz = new Interfaz();
interfaz.setTitle("Canicas");
interfaz.setBounds(200, 200, 300, 300);
interfaz.setVisible(true);
}
}
de antemano gracias