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
[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);
}