Oi Wagner,
 
eu já tentei utilizar threads, porém, elas não permitem que o fluxo fique preso dentro do método DigitalizarPonto até que seja clicado. Eu quero prender o fluxo até que seja possível retornar o ponto para facilitar o uso do método DigitalizarPonto. Por exemplo:
 
// Suponha um método onde eu precise digitalizar o ponto e logo após ele ser digitalizado eu queira mostrá-lo na tela
// Então o código ficaria assim: 
 
método mostrar_ponto_clicado
{
        Ponto := X.DigitalizarPonto;
        Y.Exibir_Na_Tela( Ponto ); 
} 
 
 
Assim, se eu usar threads, o método Exibir_Na_Tela será executado antes que eu clique.
 
 
Obs: já tentei também utilizar os métodos wait() e notify() da classe object, porém, para utilizá-los é necessário fazer uso de blocos sincronizados, o que faz com que a aplicação não execute outras coisas somente estes blocos.
O código está abaixo. O método getNumero desta classe deveria retornar somente após setNumero ser executado, porém, como os blocos estão sincronizados eu não consigo executar outra coisa na aplicação para chamar setNumero, como por exemplo no clique de um botão. 
 
 
import java.applet.*;
import java.awt.*;
 
 
public class Espera
{
int numero;
boolean setou = false;
Object tmp = new Object();

public int getNumero()
{
  synchronized (tmp)
  {
   try
   { tmp.wait();
   }
   catch (Exception e)
   { System.out.println ("Erro");
   }
  }
  return numero;

}
 
 public void setNumero(int x)
{
  synchronized (tmp)
  {
   numero = x;
   tmp.notify();
  }
}
 

};
 

Responder a