To add Listeners to all the components of my Frame I'm iterating over it recursively:
private void adicionarListeners(Component componente)
{
Stack<Component> stack = new Stack<Component>();
// evita adicionar o listener mais de uma vez no mesmo componente
if (!componentesRegistrados.contains(componente)) {
componente.addMouseListener(listenerMouse);
// LOGGER.log(Level.INFO, "Adicionou listener em {0}", componente.getName());
System.out.println("Adicionou listner em "+componente.getName());
componentesRegistrados.add(componente);
}
if (componente instanceof Container) {
Container container = (Container) componente;
int filhos = container.getComponentCount();
for (int i = 0; i < filhos; i++) {
adicionarListeners(container.getComponent(i));
}
container.addContainerListener(new ContainerAdapter()
{
@Override
public void componentAdded(ContainerEvent e)
{
adicionarListeners(e.getComponent());
}
});
}
}
I'm having stack overflow problem