Calculadora em JAVA no Netbeans – Programar em JAVA

 

Calculadora em JAVA no Netbeans 

Já imaginou criar uma calculadora em JAVA? Aparentemente parece difícil. Mas não é. Nesta aula iremos brincar de desenvolver um simples projeto calculadora orientado para objeto. Você vai gostar. De alguma maneira você poderá utilizar este aprendizado para sua vida. hummmm! É isto aí. vamos ver como é que é.. Será necessário que você instale o Netbeans em sua máquina. Para isto existe uma orientação que passamos neste link: Instalação do Netbeans e Orientação. O projeto está dividido em duas partes que corresponde a preparação da tela e a preparação da classe calculadora que faz os cálculos.

Lembre-se que uma excelente ideia para aprender é seguir pelo vídeo desta aula, logo abaixo. 

Caso você queira seguir um roteiro de aprendizado em Netbeans você pode seguir este link: Aprenda JAVA

O que é uma Calculadora

 

Vídeo de aprendizagem do projeto

 

 

Projeto calculadora

O projeto será dividido em duas camadas:

 

Apresentação ou Interface

Objeto tela que vai interagir com o usuário

 

Negócio ou Controle

Objeto calculadora que fará os cálculos (Lógica da Aplicação)

 

Representação para entender

Projeto calculadora 1

 

Camada de Negócio ou Controle

Siga os Passos

1.   Criar uma aplicação  JavaApplicationCalculadora . Isto gera uma aplicação no Netbeans através da criação de uma classe principal com o método  main  que é o local para o ponto de partida do programa. Imagem abaixo.

NetBeans Aplicacao Java Calculadora

 

2.   Crie os pacotes  Apresentacao  e  Controle  para organizar o software em duas camadas, conforme apresentado na imagem:

Netbeans Calculadora Pacotes Partilho

 

3.   Crie a classe  Calculadora, conforme imagem, e copie o código fonte da classe calculadora, também abaixo, nele.

Netbeans Calculadora Pacotes 1 Partilho

 Código fonte da classe Calculadora

 

4.   Crie o   JFrameCalculadora , conforme imagem, e gere os eventos   jButton1KeyPressed  e   jButton1ActionPerformed  para o  JButton1 . Para o  JFrameCalculadora  gere o evento  formWindowOpened 

Netbeans Calculadora Pacotes 2 Partilho

 

5.   Adicione estes dois eventos do botão 1 para todos os botões da calculadora (Imagem abaixo)

 Netbeans Calculadora Pacotes 3 Partilho

 

 6.   Copie os códigos fontes abaixo como indicado

Códigos Fontes da Calculadora

Métodos e Propriedades da Classe Calculadora

Copie no espaço vazio da classe Calculadora

 

Métodos e Propriedades da Classe jFrameCalculadora

Este você pode copiar no final do   JFrameCalculadora   antes do fecha chave (}) final e após o bloco em cinza.

Eventos da Classe jFrameCalculadora

Copie e cole em cada um dos eventos gerados no  JFrameCalculadora  

formWindowOpened

 

jButton1ActionPerformed

  

jButton1KeyPressed

 

 

Exercícios

Acrescente duas novas operações à sua calculadora. Você pode utilizar a a classe Math para isto. Veja no vídeo.

 

17 ideias sobre “Calculadora em JAVA no Netbeans – Programar em JAVA”

  1. mt bom, mas a minha calculadora não tá rodando!fiz tudo como explica o video, mas fica dando erro no swicth! pode me ajudar por favor é o meu trabalho do mês !!

  2. Estou tentando fazer a calculadora só que estava dando algo de errado. Depois que eu deletei e comecei denovo criando outro projeto no java calculadora , apareceu um sinal vermelho indicando erro antes de eu começar.

  3. Gostei muito dessa calculadora, mas tenho algumas dúvidas. Por exemplo, por exemplo se eu criar um botao raiz o que devo colocar no actionPerformed e no keyPressed ? E outra dúvida seria se por acaso eu digitar um numero errado como limpar apenas o numero digitado e voltar na mesmo estado que antes (Por exemplo, digitei 123 mas nao gostaria de ter digitado o 2, eu apagaria o 2, mas o 1 continuaria a ser sendo exibido, e digitaria por exemplo 4). como fazer isso ? Criaria um outro botao limpar ? Grato e aguardo retorno

    1. Olá Fernando! Tudo bem?

      Peço-lhe que se inscreva aqui e inclua-se ao grupo JAVA Netbeans que postaremos lá de que maneira você pode fazer isto.

      Abraços

      Equipe Partilho

  4. Olá, tudo bem?
    Gostei muito do seu projeto, montei aqui e deu tudo certo, obrigado!
    Fiquei só com uma duvida, como coloco números quebrados, tipo 2,5*2?
    Obrigado!

    1. Olá Diego…
      Para poder colocar números quebrados, o tipo da variável tem que ser double que permitirá colocar ponto decimais.

  5. Olá, eu fiz minha calculadora seguindo todos os paços, mas o meu JFRAME não esta executando, colo mando o programa rodar a unica coisa que me aparece é o botão de “Limpar”. Pode me ajudar?

  6. Olá, eu fiz minha calculadora seguindo todos os paços, mas o meu JFRAME não esta executando, colo mando o programa rodar a unica coisa que me aparece é o botão de “Limpar”. Pode me ajudar?;

  7. Exception in thread “AWT-EventQueue-0” java.lang.UnsupportedOperationException: Not supported yet.
    at calculadora.Calculadora.multiplicar(Calculadora.java:32)
    at Apresentacao.NewJFrameCaulculadora.maquinaEstadoFinitoCalculadora(NewJFrameCaulculadora.java:461)
    at Apresentacao.NewJFrameCaulculadora.jButtonMultiplicarActionPerformed(NewJFrameCaulculadora.java:314)
    at Apresentacao.NewJFrameCaulculadora.access$300(NewJFrameCaulculadora.java:17)
    at Apresentacao.NewJFrameCaulculadora$28.actionPerformed(NewJFrameCaulculadora.java:258)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6516)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
    at java.awt.Component.processEvent(Component.java:6281)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Component.dispatchEventImpl(Component.java:4872)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
    at java.awt.Container.dispatchEventImpl(Container.java:2273)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
    at java.awt.EventQueue.access$300(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:706)
    at java.awt.EventQueue$3.run(EventQueue.java:704)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:720)
    at java.awt.EventQueue$4.run(EventQueue.java:718)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

    1. Oi Marcelo! Tudo bem?
      Fiz um teste com o código da calculadora e ele funcionou normalmente no Netbeans.
      O código é simples e deve funcionar em qualquer versão dele. Bem estranho.
      Em todo caso vou dar uma olhada no código e retorno.
      Abraços

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *