Contando componentes

Olá pessoal! Estou com a seguinte dúvida, eu tenho 14 componentes em uma janela e referenciei a classe container e os adicionei. a questão é que usei o seguinte código :

TrataEventos trata = new TrataEventos();

for (int i=0;i<tela.getComponentCount();i++)
((JButton) tela.getComponent(i)).addActionListener(trata);

até ai tudo bem… O problema vem quando eu uso a classe TrataEventos.

private class TrataEventos implements ActionListener{
public void actionPerformed( ActionEvent evento){

switch(evento.getSource() )
{
case btn_n1 :
txt.setText(“1”);break;
}

o java me avisa que ele encontrou um objeto e nao um int , que é no caso o que deveria ter…hehe. Porém quero usar um switch ao invés de ficar:

if(evento.getSource()== btn_n1)
txt.setText(“1”);

Pois são muitos componentes, e não queria usar todos if’s, não é preguiça e sim uma maneira de diminuir o código, na minha opinião !

ps.: Eu andei olhando aqui na documentação e vi que a classe Integer tem o metodo valueOf(), que nem a String que converte um objeto em String.Mas com o valueOf do Integer não deu. Desculpa se falei besteira é que estou começando nao tem nem dois meses! =D

Bom, eu tambem sou iniciante mas, uma pergunta:

[quote] switch(evento.getSource() )
{
case btn_n1 :
txt.setText(“1”);break;
} [/quote]

Nesse caso, a variavel “btn_n1” é um objeto JButton?

Se for, acho q o problema pode estar ai, ja que o switch só pode ser feito com int ou char, se não me engano…