Foros del Web » Programación para mayores de 30 ;) » Java »

Como genero un evento propio?

Estas en el tema de Como genero un evento propio? en el foro de Java en Foros del Web. Hola a todos, necesito generar un evento propio y no encuentro la forma. Tengo una clase que se extiende de la clase Thread y en ...
  #1 (permalink)  
Antiguo 07/04/2008, 10:40
 
Fecha de Ingreso: abril-2008
Mensajes: 1
Antigüedad: 16 años, 7 meses
Puntos: 0
Como genero un evento propio?

Hola a todos, necesito generar un evento propio y no encuentro la forma.
Tengo una clase que se extiende de la clase Thread y en el metodo run tengo un contador que va desde 0 hasta 1.000.000. Lo que quiero que cuando llegue a 1.000 se puede invocar un evento.
Necesitaria esto:

Código:
// Clase que quiero que tenga un evento propio
public class MainThread extends Thread
{
  // esto no se como se declara, pero doy la idea de lo que necesito
  private Event OnMiEvento(int i);

  public void run()
  {
    ...
    int i = 0;
    while (true)
    {
      i = i + 1;
      // ya se que es invalida la siguiente sintaxis, solo muestro lo que necesito
      if (i == 1000) entonces ejectuar OnMiEvento( i );
      if (i == 1000000) i = 0;
      ...
    }
  }
}

// Clase que instanciara la clase anterior
public class MainClass
{
  MainThread mThread;

  public void main(String args[]) 
  {
    mThread = new MainThread();
    // Lo siguiente es lo que necesito
    mThread.OnMiEvento = OnMiEvento(int i);
  }

  private void OnMiEvento(int i)
  {
    // aca se ejecuta lo que el usuario quiera como por ej.:
    mainForm.setText ( i.toString() );
    // donde i contiene el valor actual del contador del metodo run
  }
}
Esto es basicamente lo que necesito, estoy intentando hacerlo con los listeners pero no lo entiendo y no lo logro.

Gracias por adelantado.-
  #2 (permalink)  
Antiguo 08/04/2008, 06:41
 
Fecha de Ingreso: enero-2008
Mensajes: 162
Antigüedad: 16 años, 10 meses
Puntos: 2
Re: Como genero un evento propio?

Más que un evento, te conviene una excepción:

Código:
public class miExcepcion extends Exception{
}
Encerrá el método principal del thread en un try - catch, y cuando salte la excepción (la tenés que tirar vos con throw new miExcepcion()) hacés lo que se te cante...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:15.