Dúvida em modificar o JTextField com JButton [Resolvido]

4 respostas
Cornelius

olá senhores mais uma vez… to tentando fazer uma calculadora mais me deparei com outro probleminha:
To criando um evento no botão dos números que quando clicado irá adcionar aquele número no JTextField. Olha a minha lógica:

ActionListener actUm = new ActionListener()
            {
                public void actionPerformed(ActionEvent ev){
                    aux = caixaTexto.getText();
                    caixaTexto.setText(aux+"1");
                    }
            };
        um.addActionListener(actUm);

Até ai blz, o problema é que o NetBeans insiste em definir os objetos [b]caixaTexto/b e o [b]aux/b em final. To manipulando a String errado? Ou é o evento?

Obrigado :wink:

4 Respostas

ViniGodoy

Declare aux dentro do actionlistener e não fora:

ActionListener actUm = new ActionListener()  
     {  
         public void actionPerformed(ActionEvent ev){  
             String aux = caixaTexto.getText();  
             caixaTexto.setText(aux+"1");  
             }  
     };

Ou nem sequer crie um aux:

ActionListener actUm = new ActionListener()  
     {  
         public void actionPerformed(ActionEvent ev){  
             caixaTexto.setText(caixaTexto.getText()+"1");  
             }  
     };
Cornelius

Pois é ViniGodoy, até dessa forma sem o aux não funciona, quer dizer até funciona: se eu deixo o JTextField (caixaTexto) como final ele muda uma vez e pronto, se não ponho como final na hora de apertar o botão ele dá erro. :cry:

ViniGodoy

Isso de funcionar só uma vez com o JTextField ser final, não é por culpa do final.
Tem algum outro erro no seu código.

Cornelius

Opa! resolvi a parada e nem falei aqui :roll: Simples: Todos os objetos que do meu layout foram declarados no método construtor. Só iniciei os componentes dentro da classe e funfou! Obrigado ViniGodoy!.

Criado 22 de novembro de 2009
Ultima resposta 24 de nov. de 2009
Respostas 4
Participantes 2