Salve mestres do PJ…
Em uma função mouseClicked(MouseEvent e) {…} (função (1)) na classe principal, existe uma chamada para uma função que retorna um Vector<Point>, em uma classe que estende Panel; (função (2)) essa, por sua vez, chama outra que também retorna um Vector<Point>, (função (3)) e esta chama outra que retorna um Point, e aí vai retornando tudo. Tudo parece normal. Essa última função é uma coisa assim: { for(int i=0;i<8;i++)for(int j=0;j<8;j++)
if(funcao(i,j))return(new Point(i,j));
return(new Point(-1,-1)); }
Acontece que a danada não reconhece o momento de retornar, dentro dos loops, e sempre retorna um Point(-1,-1). Até aí tudo bem, mas já me certifiquei de várias formas que deveria ser diferente (provavelmente quem está errado sou eu, hehehe), até que transferi o código da função (3) para a classe principal e… funcionou perfeitamente, sem mudar nada da lógica, apenas mudei as variáveis e métodos (ao invés de variável=… ou método(…), mudei para classe.variável=… e classe.método(…) porque agora o código ficou fora da classe onde estava antes). Tudo bem, funcionou… mas a pergunta que não quer calar é: porque não funcionou dentro da classe (onde deveria a princípio) e funcionou no programa principal?
Se alguém tiver alguma idéia do porquê…
Desde já, obrigado!