Ok, o exemplo não ficou bom… mas gostei bastante das respostas… o post o Mask ajudou bastante!
No meu sistema o caso é mais ou menos o seguinte, vejam se está compreensível o resumo do código a seguir…
OBS. Um Projeto(JFrame) contém várias Rotina(JScrollPane) que contém várias Lógica(JPanel) que contém vários Componente.
class Componente {
private Logica logicaHandler;
/**
* constructor
* @param logicaHandler Lógica que manipula este componente.
*/
public Componente(Logica logicaHandler) {
this.logicaHandler = logicaHandler;
}
public getDados() {
/*antes aqui estava getRotinaHandler().getProjetoHandler().get...*/
Rotina rotina = logicaHandler.getRotinaHandler();
Projeto projeto = rotina.getProjetoHandler();
TabelaDadosComponentes tab = projeto.getTab();
return tab.getDados(this);
}
}
Agora acho q está OK, mas se tiverem dicas pra melhorar isso sou todo ouvidos (ou olhos).