Variavel zera ao clicar no botão (Ajuda)

Ola!! sou novo em java e no GUJ e estou com uma duvida?
Tenho um código que era para seu uma calculadora só que parece que cada vez que dou click no botão do mouse a variável num1 zera.
vou colocar o código para vocês darem uma olhada.
ps:era um código que trocava a cor do fundo botão “-” e “=” ñ fora modificadas.

PainelBotoes.java:

[code]import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class PainelBotoes extends JPanel implements ActionListener {

// variaveis de instancia:

    private JButton botaoMais;

    private JTextField TextoIgual;
    
    int num1 = 0;
    int num2 = 0;
    int num3 = 0;

// Construtor

public PainelBotoes(){
TextoIgual = new JTextField(40);

    this.add(TextoIgual); //this é opcional. Referencia o painel.

    TextoIgual.addActionListener(this);
    TextoIgual.setText("0");


    botaoMais = new JButton("+");

    this.add(botaoMais); //this é opcional. Referencia o painel.

    botaoMais.addActionListener(this);

}

// metodo de ouvinte, para tratar os eventos gerados ao clicar um botao

public void actionPerformed(ActionEvent evt){

  Object source = evt.getSource();

  int numero = Integer.parseInt(TextoIgual.getText());
  int num3 = numero+num1;
  int num1 = numero;

  if (source == botaoMais) {
   TextoIgual.setText(""+num3);
  }

}

}[/code]

tem mais dois .java mais acho que ñ vai ser necessário postar

Não entendi sua dúvida…
Não sei também o que você quer fazer…

Tenta explicar melhor sua dúvida!
Flws!

[quote=pedroroxd]Não entendi sua dúvida…
Não sei também o que você quer fazer…

Tenta explicar melhor sua dúvida!
Flws![/quote]
Eu quero que quando clicar no botão “+” ele pegue o valo do JTextField TextoIgual e some com a variável num1 e armazene o resultado no num3, depois altere o valor do num1 para o valor do JTextField TextoIgual e escrever no JTextField TextoIgual o num3
para que quando clicar novamente no Botão “+” ele some o valor atual do JTextField TextoIgual com o num1 valor anterior do JTextField TextoIgual e escreva a resposta no JTextField TextoIgual.
Mais parece que o num1 fica sempre com o valor 0 em vez de ficar com o valor do JTextField TextoIgual antes de clicar no botão “+”

dei uma limpada no código apaguei os botões “-” e “=” editei a pergunta

Voce esta redeclarando as variaveis dentro do metodo. As variaveis que estao no actionPerformed nao sao as mesmas declaradas como atributo da classe, apenas tem o mesmo nome.

[code]import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class PainelBotoes extends JPanel implements ActionListener {

// variaveis de instancia:

    private JButton botaoMais;

    private JTextField TextoIgual;
    
    int num1 = 0;
    int num2 = 0;
    int num3 = 0;

public void actionPerformed(ActionEvent evt){

  Object source = evt.getSource();

  int numero = Integer.parseInt(TextoIgual.getText());
  int num3 = numero+num1; // retire a indicacao de tipo
  int num1 = numero;

  if (source == botaoMais) {
   TextoIgual.setText(""+num3);
  }

}
[/code]