Eventos em um JInternalFrame

Estou tendo problemas com o tratamento de eventos ao usar JInternalFrame. A forma como aprendi foi a seguinte
Na tela:botao.addActionListener(controle);

Na classe de controle da tela:public void actionPerformed(ActionEvent evento){ //tratamento do evento }

Mas isso só funciona em telas normais, se eu usar addActionListener() em um JInternalFrame o evento simplesmente não acontece. Porque? Como contornar esse problema?