Calculadora

Alguem pode me ajudar ?

É só usar o código que o digolipertte e RiQuInHo_$_$ postaram:

botao[i].addActionListener(new ActionListener() {//Por exemplo, este botão é o 8      
              
            @Override      
            public void actionPerformed(ActionEvent evt) {                          
                  //Aqui vc coloca o que vc quer que o botão faça..... neste caso chamamos o método bt_8();
                  bt_8();
            }      
        });  


private void bt_8() {                                       
           //Aqui vc guarda o valor 8 para depois realizar o calculo desejado, por exemplo:
           primeiroValor = 8;           
} 

Os demais botões segue este mesmo esquema.

O código do RiQuInHo_$_$ pode ser extenso, mas a maneira mais fácil de aprender (pelo menos foi assim para mim) é pegar estes códigos e comentar o que não se sabe, linha por linha e aprender usando uma IDE de verdade como o NetBeans ou Eclipse.

cara se vc pegar o codigo e degugar vc vai saber aonde estão as chamadas dos botões.

é tão simples.

Testarei…o problema é que somos obrigado a utilizar a IDE JGrasp e é um LIXO…

manda seu professor à merda isso sim…

na facul eu uso a IDE 7 do NB muito simples e o eclipse.

[quote=RiQuInHo_$_$]cara se vc pegar o codigo e degugar vc vai saber aonde estão as chamadas dos botões.

é tão simples.[/quote]

é que no meu caso eu criei um vetor de botões, não declarei botão por botão, mas acho que vou fazer isso pra facilitar mais agora…

Aqui o método do botão na posição 0 do vetor no caso, eu só posso ta cego ou realmente ta errado, mas não ta funcionando galera…

    buttons[i].addActionListener(new ActionListener() 
		  {        
        		public void actionPerformed(ActionEvent evt) 
				{                            
             	if(buttons[i].getSource() == buttons[0])
     				{
      				int valor;
      				valor = Integer.parseInt(texto.getText());
      				valor = buttons[0]; 
                 texto.setText(""+valor);       
               }      
                
        }      
       
  );}  
  
  private void buttons() 
  {                                         
           		                 
         primeiroValor = 1;             
  }    

Desculpa incomodar tanto mas é que realmente essa parte ta me deixando puto da vida…

[quote=victorrgds]Aqui o método do botão na posição 0 do vetor no caso, eu só posso ta cego ou realmente ta errado, mas não ta funcionando galera…

    buttons[i].addActionListener(new ActionListener() 
		  {        
        		public void actionPerformed(ActionEvent evt) 
				{                            
             	if(buttons[i].getSource() == buttons[0])
     				{
      				int valor;
      				valor = Integer.parseInt(texto.getText());
      				valor = buttons[0]; 
                 texto.setText(""+valor);       
               }      
                
        }      
       
  );}  
  
  private void buttons() 
  {                                         
           		                 
         primeiroValor = 1;             
  }    

Desculpa incomodar tanto mas é que realmente essa parte ta me deixando puto da vida…[/quote]

Pra que você continua testando qual botão acionou o evento :?: Eu já não mostrei lá em cima como se faz :!: :?:

Isto não é um trabalho de casa :?: seu profº não precisa saber em qual IDE foi feito.

:thumbup:

Negativo Henrique, é pra ser entregue…por isso não posso utilizar outra IDE…:S

Sim, mas se você fizer em outra IDE (no conforto do lar) e abrir (na frente do profº na instituição de ensino) neste JGrasp :wink:

Isto na verdade é o de menos, código Java pode ser feito até em um editor de texto qualquer. IDE ajuda mas não influencia no código.

:thumbup:

É que na minha facul, eles meio que proibem de utilizar o NB, no máximo o Eclipse…

:lol: Me passa o nome desta instituição, para mim não correr o perigo de estudar lá :smiley:

Enfim…

victorrgds já estamos na 3ª página só para fazer uma calculadora, nem uma científica demoraria tanto :wink:

Releia as páginas anteriores, e observe as dicas do pessoal que você consegue fazer e qualquer dúvida nova você posta.

:thumbup:

:lol: Me passa o nome desta instituição, para mim não correr o perigo de estudar lá :smiley:

Enfim…

victorrgds já estamos na 3ª página só para fazer uma calculadora, nem uma científica demoraria tanto :wink:

Releia as páginas anteriores, e observe as dicas do pessoal que você consegue fazer e qualquer dúvida nova você posta.

:thumbup: [/quote]

idem ++

se for cientifica coitado !!! rsrs

mas cara ta embassado o voce quer…vc ta fazendo HARDCODE certo! mesmo dessa forma da para se usar as formas das postagem anteriores…

acabei fazendo essa por exemplo testa ai a bagaça

só espero que vc saiba o que são Imports :roll:

[code]public class CalculadoraTeste extends JFrame implements ActionListener {

/**
 * 
 */
private static final long serialVersionUID = 1L;
private JButton somar, subtrair, multiplicar, dividir, limpar, voltar, igual, ponto;
private JButton bt0, bt1, bt2, bt3, bt4, bt5, bt6, bt7, bt8, bt9;
private JTextField tfVisor;
private double n1, n2;
private char operacao = ' ';
private boolean segundo = true;
private boolean utd = false;

public CalculadoraTeste() {
    //Ajuste do formulário
    setTitle("Calculadora");
    setSize(245, 260);
    setLocation(WIDTH, WIDTH);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setResizable(false);
    getContentPane().setLayout(null);

    //Inicialização dos botões
    somar = new JButton("+");
    subtrair = new JButton("-");
    multiplicar = new JButton("*");
    dividir = new JButton("/");
    limpar = new JButton("CE");
    voltar = new JButton("Backspace");
    igual = new JButton("=");
    ponto = new JButton(",");
    bt0 = new JButton("0");
    bt1 = new JButton("1");
    bt2 = new JButton("2");
    bt3 = new JButton("3");
    bt4 = new JButton("4");
    bt5 = new JButton("5");
    bt6 = new JButton("6");
    bt7 = new JButton("7");
    bt8 = new JButton("8");
    bt9 = new JButton("9");
    tfVisor = new JTextField();

    //Posicionar componentes no formulário
    tfVisor.setBounds(10, 10, 220, 40);

    voltar.setBounds(10, 55, 160, 30);
    limpar.setBounds(180, 55, 50, 30);

    bt7.setBounds(10, 90, 50, 30);
    bt8.setBounds(65, 90, 50, 30);
    bt9.setBounds(120, 90, 50, 30);
    dividir.setBounds(180, 90, 50, 30);

    bt4.setBounds(10, 125, 50, 30);
    bt5.setBounds(65, 125, 50, 30);
    bt6.setBounds(120, 125, 50, 30);
    multiplicar.setBounds(180, 125, 50, 30);

    bt1.setBounds(10, 160, 50, 30);
    bt2.setBounds(65, 160, 50, 30);
    bt3.setBounds(120, 160, 50, 30);
    subtrair.setBounds(180, 160, 50, 30);

    bt0.setBounds(10, 195, 50, 30);
    ponto.setBounds(65, 195, 50, 30);
    igual.setBounds(120, 195, 50, 30);
    somar.setBounds(180, 195, 50, 30);

    //Cores dos componentes
    bt0.setForeground(Color.BLUE);
    bt1.setForeground(Color.BLUE);
    bt2.setForeground(Color.BLUE);
    bt3.setForeground(Color.BLUE);
    bt4.setForeground(Color.BLUE);
    bt5.setForeground(Color.BLUE);
    bt6.setForeground(Color.BLUE);
    bt7.setForeground(Color.BLUE);
    bt8.setForeground(Color.BLUE);
    bt9.setForeground(Color.BLUE);
    ponto.setForeground(Color.BLUE);

    somar.setForeground(Color.red);
    subtrair.setForeground(Color.red);
    multiplicar.setForeground(Color.red);
    dividir.setForeground(Color.red);
    igual.setForeground(Color.red);
    limpar.setForeground(Color.red);
    voltar.setForeground(Color.red);

    tfVisor.setHorizontalAlignment(JTextField.RIGHT);

    //Registro de componentes que executam ações

    bt0.addActionListener(this);
    bt1.addActionListener(this);
    bt2.addActionListener(this);
    bt3.addActionListener(this);
    bt4.addActionListener(this);
    bt5.addActionListener(this);
    bt6.addActionListener(this);
    bt7.addActionListener(this);
    bt8.addActionListener(this);
    bt9.addActionListener(this);
    somar.addActionListener(this);
    subtrair.addActionListener(this);
    multiplicar.addActionListener(this);
    dividir.addActionListener(this);
    igual.addActionListener(this);
    limpar.addActionListener(this);
    voltar.addActionListener(this);
    ponto.addActionListener(this);

    //Colocar os componentes no formulário
    this.getContentPane().add(somar);
    this.getContentPane().add(subtrair);
    this.getContentPane().add(multiplicar);
    this.getContentPane().add(dividir);
    this.getContentPane().add(tfVisor);
    this.getContentPane().add(bt0);
    this.getContentPane().add(bt1);
    this.getContentPane().add(bt2);
    this.getContentPane().add(bt3);
    this.getContentPane().add(bt4);
    this.getContentPane().add(bt5);
    this.getContentPane().add(bt6);
    this.getContentPane().add(bt7);
    this.getContentPane().add(bt8);
    this.getContentPane().add(bt9);
    this.getContentPane().add(igual);
    this.getContentPane().add(limpar);
    this.getContentPane().add(voltar);
    this.getContentPane().add(dividir);
    this.getContentPane().add(ponto);
}

public static void main(String args[]) {
    JFrame obj = new CalculadoraTeste();
    obj.setVisible(true);
}

public void actionPerformed(ActionEvent acao) {
    if (acao.getSource() == bt0) {
        if (tfVisor.getText().equals("")) {
            return;
        } else {
            numDigi("0");
        }
    } else if (acao.getSource() == bt1) {
        numDigi("1");
    } else if (acao.getSource() == bt2) {
        numDigi("2");
    } else if (acao.getSource() == bt3) {
        numDigi("3");
    } else if (acao.getSource() == bt4) {
        numDigi("4");
    } else if (acao.getSource() == bt5) {
        numDigi("5");
    } else if (acao.getSource() == bt6) {
        numDigi("6");
    } else if (acao.getSource() == bt7) {
        numDigi("7");
    } else if (acao.getSource() == bt8) {
        numDigi("8");
    } else if (acao.getSource() == bt9) {
        numDigi("9");
    } else if (acao.getSource() == ponto) {
        decimal();
    }
    if (acao.getSource() == limpar) {
        tfVisor.setText("");
        operacao = ' ';
        segundo = true;
        utd = false;
        n1 = 0;
        n2 = 0;
    }
    if (acao.getSource() == voltar) {
        int tam = tfVisor.getText().length();
        if (tam > 0) {
            tfVisor.setText(tfVisor.getText().substring(0, tam - 1));
        } else {
            return;
        }
    }
    if (acao.getSource() == somar) {
        igual();
        calcular('+');
    }
    if (acao.getSource() == subtrair) {
        igual();
        calcular('-');
    }
    if (acao.getSource() == multiplicar) {
        igual();
        calcular('*');
    }
    if (acao.getSource() == dividir) {
        igual();
        calcular('/');
    }
    if (acao.getSource() == igual) {
        igual();
    }
}

private void calcular(char c) {
    if (!tfVisor.getText().equals("")) {
        operacao = c;
        segundo = false;
        utd = false;
        n1 = Double.parseDouble(tfVisor.getText());
    } else {
        return;
    }
}

private void numDigi(String n) {
    if (segundo == true) {
        tfVisor.setText(tfVisor.getText() + n);
    } else {
        tfVisor.setText("");
        tfVisor.setText(tfVisor.getText() + n);
        segundo = true;
    }
}

private void igual() {
    if (operacao == '+') {
        n2 = n1 + Double.parseDouble(tfVisor.getText());
        tfVisor.setText("" + n2);
        n1 = 0;
        n2 = 0;
        operacao = ' ';
        segundo = false;
    } else if (operacao == '-') {
        n2 = n1 - Double.parseDouble(tfVisor.getText());
        tfVisor.setText("" + n2);
        n1 = 0;
        n2 = 0;
        operacao = ' ';
    } else if (operacao == '*') {
        n2 = n1 * Double.parseDouble(tfVisor.getText());
        tfVisor.setText("" + n2);
        n1 = 0;
        n2 = 0;
        operacao = ' ';
    } else if (operacao == '/') {
        n2 = n1 / Double.parseDouble(tfVisor.getText());
        tfVisor.setText("" + n2);
        n1 = 0;
        n2 = 0;
        operacao = ' ';
    } else {
        return;
    }
}

private void decimal() {
    if (utd == false) {
        if (tfVisor.getText().length() < 1) {
            numDigi("0.");
        }
        else if (possuePonto() == true){
                return;
            }
            else{
            numDigi(".");
            }
        }
        utd = true;
    
}

private boolean possuePonto(){
    String v = tfVisor.getText();
    boolean b = false;
    for (int i = 0; i<v.length();i++){
        if (v.substring(i, i).equals(".")){
            b = true;
        }
        else {
            b = false;
        }
    }
    return b;
}

}[/code]

Achei essa na internet e me ajudou a montar uma

/**
 * importando os pacotes necessários
 */
 
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

/**
 * @(#)Calculadora.java
 *
 * Calculadora application
 *
 * @author Carlos Coelho
 * @version 1.00 2010/10/02
 */
 
public class Calculadora extends JFrame implements ActionListener
{

    /**
     * variáveis do tipo JButton
     */
    
     // criando os botões para os cálculos
     private JButton bt_somar;
     private JButton bt_subtrair;
     private JButton bt_multiplicar;
     private JButton bt_dividir;
     private JButton bt_ce;
     private JButton bt_back;
     private JButton bt_igual;
     private JButton bt_ponto;
     
     // criando os botões numéricos 
     private JButton bt_1;
     private JButton bt_2;
     private JButton bt_3;
     private JButton bt_4;
     private JButton bt_5;
     private JButton bt_6;
     private JButton bt_7;
     private JButton bt_8;
     private JButton bt_9;
     private JButton bt_0;

    /**
     * variável do tipo JLabel
     * @access private
     */
    
    // criando o campo onde será inserido o nome do desenvolvedor  
    private JLabel l_author;
         
    /**
     * variável do tipo JTextField
     * @access private
     */
    
    // criando o campo onde será inserido os valores clicados  
    private JTextField tf_calculadora;

    /**
     * variável do tipo JMenuBar
     * @access private
     */
    
    // criando a barra de menu onde será inserido o nome da nossa aplicação
    private JMenuBar barra_menu;
   
    /**
     * variável do tipo JMenu
     * @access private
     */
    
    // criando menu onde será inserido o nome "Calculadora"  
    private JMenu menu_calculadora;

    /**
     * variável do tipo double
     * @access private
     */
    
    // criando as variáveis que receberão os valore clicados e calculados   
    private double num       = 0;
    private double resultado = 0;

    /**
     * variável do tipo char
     * @access private
     */
    
    // criando a variável que receberá o comando clicado      
    private char tecla_pressionada;
   
    /**
     * variável do tipo boolean
     * @access private
     */
    
    // criando uma variável para verificar se um botão foi clicado
    private boolean click = false;
   
   
    /**
     * método construtor da classe Calculadora
     * @access public
     */
          
     public Calculadora()
     {
       
           setTitle("Calculadora"); // seta um título para a janela
           setSize(280,280); // seta uma dimensão
           setLocationRelativeTo(null); // seta a posição
           setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // define que a execução será finalizada quando a janela for fechada
           setResizable(false); // seta para não ser possível redimensionar a janela
       
           // getContentPane() é um método da classe JFrame que retorna um JPanel, que é o painel principal da janela
           getContentPane().setLayout(null); //informa que não vai usar Gerenciador de Layout

           // instancia os botões e atribuindo os seus nomes
           bt_somar       = new JButton("+");
           bt_multiplicar = new JButton("*");
           bt_dividir     = new JButton("/");
           bt_subtrair    = new JButton("-");
           bt_ponto       = new JButton(".");    
           bt_1           = new JButton("1");
           bt_2           = new JButton("2");
           bt_3           = new JButton("3");
           bt_4           = new JButton("4");
           bt_5           = new JButton("5");
           bt_6           = new JButton("6");
           bt_7           = new JButton("7");
           bt_8           = new JButton("8");
           bt_9           = new JButton("9");
           bt_0           = new JButton("0");
           bt_back        = new JButton("Backspace");
           bt_ce          = new JButton("ce");
           bt_igual       = new JButton("=");
           tf_calculadora = new JTextField(100);
     
           barra_menu = new JMenuBar(); // instancia a barra de menu       
           setJMenuBar(barra_menu); // seta a barra de menu na janela
           menu_calculadora   = new JMenu("Calculadora"); // instancia o menu e dá um nome
           menu_calculadora.setEnabled(false); // desativa para click
           barra_menu.add(menu_calculadora); // insere o menu na barra de menu
          
           // formatando o campo JTextField
           tf_calculadora.setHorizontalAlignment(tf_calculadora.RIGHT); // seta o texto para a direita
           tf_calculadora.setText("0"); // setamos o valor zero(0), como padrão
           tf_calculadora.setCaretPosition(1); // seta o cursor na posição um(1)
           tf_calculadora.setEditable(false); // evita a edição pelo teclado
           tf_calculadora.setBackground(Color.white); // seta um fundo branco

           // setando cores para os textos nos botões
           bt_1            .setForeground(Color.blue);
           bt_2            .setForeground(Color.blue);
           bt_3            .setForeground(Color.blue);
           bt_4            .setForeground(Color.blue);
           bt_5            .setForeground(Color.blue);
           bt_6            .setForeground(Color.blue);
           bt_7            .setForeground(Color.blue);
           bt_8            .setForeground(Color.blue);
           bt_9            .setForeground(Color.blue);
           bt_0            .setForeground(Color.blue);
           bt_back         .setForeground(Color.red);
           bt_ce           .setForeground(Color.red);
           bt_somar        .setForeground(Color.red);
           bt_multiplicar  .setForeground(Color.red);
           bt_subtrair     .setForeground(Color.red);
           bt_dividir      .setForeground(Color.red);
           bt_ponto        .setForeground(Color.red);
           bt_igual        .setForeground(Color.red);       

           //Posicionando os componentes na Tela
           //objeto.setBounds (posicaoColuna,posicaoLinha,comprimentodalinha,alturadalinha);    
           tf_calculadora.setBounds(20,  10,  230, 25);
           bt_back       .setBounds(20,  45,  110, 30);
           bt_ce         .setBounds(140, 45,  110, 30);      
           bt_7          .setBounds(20,  80,  50,  30);             
           bt_8          .setBounds(80,  80,  50,  30);                    
           bt_9          .setBounds(140, 80,  50,  30);             
           bt_dividir    .setBounds(200, 80,  50,  30);
           bt_4          .setBounds(20,  115, 50,  30);             
           bt_5          .setBounds(80,  115, 50,  30);                    
           bt_6          .setBounds(140, 115, 50,  30);             
           bt_multiplicar.setBounds(200, 115, 50,  30);
           bt_1          .setBounds(20,  150, 50,  30);             
           bt_2          .setBounds(80,  150, 50,  30);                    
           bt_3          .setBounds(140, 150, 50,  30);
           bt_subtrair   .setBounds(200, 150, 50,  30);
           bt_0          .setBounds(20,  185, 50,  30);
           bt_ponto      .setBounds(80,  185, 50,  30);                    
           bt_igual      .setBounds(140, 185, 50,  30);
           bt_somar      .setBounds(200, 185, 50,  30);

           // registra os botões ao Listener
           bt_somar      .addActionListener(this);
           bt_multiplicar.addActionListener(this);
           bt_subtrair   .addActionListener(this);
           bt_dividir    .addActionListener(this);
           bt_ponto      .addActionListener(this);
           bt_0          .addActionListener(this);
           bt_1          .addActionListener(this);      
           bt_2          .addActionListener(this);
           bt_3          .addActionListener(this);
           bt_4          .addActionListener(this);
           bt_5          .addActionListener(this);
           bt_6          .addActionListener(this);
           bt_7          .addActionListener(this);
           bt_8          .addActionListener(this);
           bt_9          .addActionListener(this);
           bt_igual      .addActionListener(this);
           bt_back       .addActionListener(this);
           bt_ce         .addActionListener(this);
       
       
           // adiciona os botões ao JPanel
           // getContentPane() é um método da classe JFrame que retorna um JPanel, que é o painel principal da janela
           getContentPane().add(tf_calculadora);
           getContentPane().add(bt_back);
           getContentPane().add(bt_ce);
           getContentPane().add(bt_7);
           getContentPane().add(bt_8);
           getContentPane().add(bt_9);
           getContentPane().add(bt_4);
           getContentPane().add(bt_5);
           getContentPane().add(bt_6);      
           getContentPane().add(bt_1);
           getContentPane().add(bt_2);
           getContentPane().add(bt_3);        
           getContentPane().add(bt_0);
           getContentPane().add(bt_igual);        
           getContentPane().add(bt_multiplicar);
           getContentPane().add(bt_subtrair);
           getContentPane().add(bt_dividir);
           getContentPane().add(bt_somar);
           getContentPane().add(bt_ponto);
          
    }

    /**
     * método para tratar eventos de click de botão
     * @access public
     */
    
    public void actionPerformed(ActionEvent acao)
    {
          
        // o primeiro número é zero(0) e o segundo não é ponto ?
        if((tf_calculadora.getText().length() == 1) && (tf_calculadora.getText() .substring(0,1).equals("0")) && (!tf_calculadora.getText().substring(1,1).equals(".")))
        {
            tf_calculadora.setText(tf_calculadora.getText().replace("0",""));
        }
          
        // pressionou o botão ponto ?
        if(acao.getSource() == bt_ponto)
        {
            // é o segundo valor ?
            if(click)
            {
                tf_calculadora.setText(null);
               
                // tem ponto ?
                if(tf_calculadora.getText().indexOf(".") < 0)
                {
                    // é o primeiro caracter ?
                    if(tf_calculadora.getText().length() < 1)
                    {
                        tf_calculadora.setText("0.");
                    }
                    else
                    {
                        tf_calculadora.setText(".");
                    }
                }
               
            }            
            else
            {
                // tem ponto ?
                if(tf_calculadora.getText().indexOf(".") < 0)
                {
                    // é o primeiro caracter ?
                    if(tf_calculadora.getText().length() < 1)
                    {
                        tf_calculadora.setText("0.");
                    }
                    else
                    {
                        tf_calculadora.setText(tf_calculadora.getText()+".");
                    }
                }
            }
           
            click = false;
        }
          
        // pressionou o botão número 0 ?
        if(acao.getSource() == bt_0)
        {
            // é o segundo valor ?
            if(click)
            {
                tf_calculadora.setText("0");    
            }            
            else
            {
                // o primeiro caracter é 0 ?
                if((tf_calculadora.getText().length() == 1) && (tf_calculadora.getText().equals("0")))
                {
                    tf_calculadora.setText("0");
                }
                else
                {
                    tf_calculadora.setText(tf_calculadora.getText()+"0");
                }
            }
           
            click = false;
        }
       
        // pressionou o botão número 1 ?
        if(acao.getSource() == bt_1)
        {
            // é o segundo valor ?
            if(click)
            {
                tf_calculadora.setText("1");
            }            
            else
            {
                tf_calculadora.setText(tf_calculadora.getText()+"1");
            }
           
            click = false;
        }
       
        // pressionou o botão número 2 ?
        if(acao.getSource() == bt_2)
        {
            // é o segundo valor ?
            if(click)
            {
                tf_calculadora.setText("2");
            }            
            else
            {
                tf_calculadora.setText(tf_calculadora.getText()+"2");
            }
           
            click = false;
        }
       
        // pressionou o botão número 3 ?
        if(acao.getSource() == bt_3)
        {
            // é o segundo valor ?
            if(click)
            {
                tf_calculadora.setText("3");
            }            
            else
            {
                tf_calculadora.setText(tf_calculadora.getText()+"3");
            }
           
            click = false;
        }
       
        // pressionou o botão número 4 ?        
        if(acao.getSource() == bt_4)
        {
            // é o segundo valor ?
            if(click)
            {
                tf_calculadora.setText("4");
            }            
            else
            {
                tf_calculadora.setText(tf_calculadora.getText()+"4");
            }
           
            click = false;
        }
       
        // pressionou o botão número 5 ?
        if(acao.getSource() == bt_5)
        {
            // é o segundo valor ?
            if(click)
            {
                tf_calculadora.setText("5");
            }            
            else
            {
                tf_calculadora.setText(tf_calculadora.getText()+"5");
            }
           
            click = false;
        }
       
        // pressionou o botão número 6 ?
        if(acao.getSource() == bt_6)
        {
            // é o segundo valor ?
            if(click)
            {
                tf_calculadora.setText("6");
            }            
            else
            {
                tf_calculadora.setText(tf_calculadora.getText()+"6");
            }
           
            click = false;
        }
       
        // pressionou o botão número 7 ?
        if(acao.getSource() == bt_7)
        {
            // é o segundo valor ?
            if(click)
            {
                tf_calculadora.setText("7");
            }            
            else
            {
                tf_calculadora.setText(tf_calculadora.getText()+"7");
            }
           
            click = false;
        }
       
        // pressionou o botão número 8 ?
        if(acao.getSource() == bt_8)
        {
            // é o segundo valor ?
            if(click)
            {
                tf_calculadora.setText("8");
            }            
            else
            {
                tf_calculadora.setText(tf_calculadora.getText()+"8");
            }
           
            click = false;
        }
       
        // pressionou o botão número 9 ?
        if(acao.getSource() == bt_9)
        {
            // é o segundo valor ?
            if(click)
            {
                tf_calculadora.setText("9");
            }            
            else
            {
                tf_calculadora.setText(tf_calculadora.getText()+"9");
            }
           
            click = false;
        }
       
        // pressionou o botão + ?
        if(acao.getSource() == bt_somar)
           {
            click = true;
               tecla_pressionada = '+';
               num = Double.parseDouble(tf_calculadora.getText());
        }
       
        // pressionou o botão - ?
        if(acao.getSource() == bt_subtrair)
           {
            click = true;
               tecla_pressionada = '-';
               num = Double.parseDouble(tf_calculadora.getText());
        }
        
        // pressionou o botão * ?
        if(acao.getSource() == bt_multiplicar)
           {
            click = true;
               tecla_pressionada = '*';
               num = Double.parseDouble(tf_calculadora.getText());
        }
        
        // pressionou o botão número / ?
        if(acao.getSource() == bt_dividir)
           {
            click = true;
               tecla_pressionada = '/';
               num = Double.parseDouble(tf_calculadora.getText());          
        }
        
        // pressionou o botão ce ?
        if(acao.getSource() == bt_ce)
        {
            num = 0;
            resultado = 0;
            click = false;
            tecla_pressionada = ' ';
            tf_calculadora.setText("0");
        }
        
        // pressionou o botão back ?
        if(acao.getSource() == bt_back)
        {
            // o tamanho da string é maior que zero ?
            if(tf_calculadora.getText().length() > 0)
            {
                tf_calculadora.setText(tf_calculadora.getText() .substring(0,tf_calculadora.getText().length()-1));
            }
           
            // o tamanho da string é igual a zero ?    
            if(tf_calculadora.getText().length() == 0)
            {
                tf_calculadora.setText("0");
            }
           
        }
                 
        // pressionou o botão = ?
           if(acao.getSource() == bt_igual)
           {  
              
            // foi o + ?
            if(tecla_pressionada == '+')
            {
                  resultado = num + Double.parseDouble(tf_calculadora.getText());
            }
           
            // foi o - ?
            if(tecla_pressionada == '-')
            {
                  resultado = num - Double.parseDouble(tf_calculadora.getText());
            }
           
            // foi o * ?
            if(tecla_pressionada == '*')
            {
                  resultado = num * Double.parseDouble(tf_calculadora.getText());
            }
           
            // foi o / ?
            if(tecla_pressionada == '/')
            {
                resultado = num / Double.parseDouble(tf_calculadora.getText());
            }
           
            // converte para string e seta o texto
               tf_calculadora.setText(String.valueOf(resultado));
            
               click = true;
           
           }
          
     }
      
     /**
      * método principal da classe Calculadora
      * @access public
      */
                
     public static void main(String[] args)
     {
    
           JFrame Calc = new Calculadora(); // cria uma variável do tipo Calculadora e instancia
        
           Calc.setVisible(true); // mostra a Calculadora
     }
    
}