Oi pessoal,
gostaria de saber se existe em java algo
equivalente ao método ProcessMessages da classe TApplication do Delphi.
Isto é, alguma forma de a minha aplicação continuar
trabalhando enquanto estou esperando que algo aconteça.
Tenho uma classe em Delphi que é assim (uma
descrição superficial da classe):
// TEditor é um componente
gráfico como por exemplo um frame
private
Clicou:
boolean;
xclique, yclique:
double;
procedure ClicouMouse(x, y: double);
public
function DigitalizarPonto:
TPonto;
end;
// Descrição dos
métodos
// Este método é
chamado sempre que ocorrer o evento do clique do mouse
//
Então, quando o mouse é clicado eu recebo a coordenada onde foi o
clique
procedure ClicouMouse(x, y:
double);
begin
xclique := x;
yclique :=
y;
// armazena a coordenada onde foi clicado o mouse
Clicou :=
true;
end;
function
DigitalizarPonto: TPonto;
var
PontoClique: TPonto;
begin
Clicou := false;
while (not Clicou) do
Application.ProcessMessages;
// aguarda até que seja clicado o mouse
PontoClique :=
TPonto.Create(xclique, yclique);
Result :=
PontoClique;
// retorna o ponto do clique
end;
Obs: O método ProcessMessages
permite que a Fila de tarefas do windows continue a ser processada enquanto eu
estou preso no loop, assim a aplicação continua a fazer outras
coisas inclusive o clique do mouse.
Eu poderia fazer este retorno do
ponto clicado como um evento, mas isto não é interessante. O que
desejo é prender o fluxo de uma sequência de código
até que algo ocorra sem travar a
aplicação.
Alguém sabe
como fazer algo equivalente a isto em java? Aguardo ancioso!
Obrigado!
