Skip to content

A Calculadora Swing é uma aplicação em Java com interface gráfica feita em Swing, criada para praticar POO e o padrão Observer em uma calculadora funcional. ENG: Calculadora Swing is a Java Swing app built to practice OOP and the Observer pattern through a simple functional calculator.

Notifications You must be signed in to change notification settings

pitercoding/calculadora-swing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

🧮 Calculadora Swing

Uma calculadora gráfica desenvolvida em Java, utilizando Swing para a interface visual.

O projeto aplica conceitos de POO e o padrão Observer para integração entre a interface (visão) e a lógica de cálculo (modelo).

🎯 Objetivos do Projeto

  • Praticar os princípios de Programação Orientada a Objetos (encapsulamento, composição, coesão)
  • Aplicar o padrão Observer para comunicação entre modelo e interface
  • Desenvolver uma interface gráfica moderna com Java Swing
  • Implementar a lógica completa de uma calculadora, com operações básicas e formatação numérica

📂 Estrutura do Projeto

A arquitetura segue o padrão MVC (Model-View-Controller) simplificado, separando modelo (lógica e estado) e visão (componentes Swing):

calculadora-swing/
├── src/br/com/calculadora/
   ├── modelo/
      ├── Memoria.java
      └── MemoriaObservador.java
   
   └── visao/
       ├── Botao.java
       ├── Calculadora.java
       ├── Display.java
       └── Teclado.java

├── .gitignore
├── README.md

🧩 Descrição dos pacotes

📁 modelo/

Contém toda a lógica da calculadora:

  • Memoria.java → Gerencia o estado atual, histórico e operações
  • MemoriaObservador.java → Interface funcional que notifica alterações no display

🎨 visao/

Define a interface gráfica usando Swing:

  • Calculadora.java → Janela principal (JFrame)
  • Display.java → Mostra o número atual e o resultado das operações
  • Teclado.java → Organiza os botões com GridBagLayout
  • Botao.java → Estiliza os botões com cores e fontes personalizadas

🖥️ Como executar o projeto

1. Clonar o repositório

git clone https://github.com/pitercoding/calculadora-swing.git
cd calculadora-swing

2. Abrir no IntelliJ IDEA ou VS Code

  • Vá em File > Open...
  • Selecione a pasta do projeto
  • Configure o SDK do projeto para Java 17 ou superior

3. Executar a aplicação

  • Abra a classe Calculadora.java
  • Clique em Run ▶️

A calculadora será aberta em uma janela Swing.

🧮 Funcionalidades da Calculadora

  • Soma
  • Subtração
  • ✖️ Multiplicação
  • Divisão
  • 🔁 Alterar sinal (±)
  • 🧹 Limpar (AC)
  • = Cálculo de resultado (=)
  • ⚙️ Formatação com vírgula e precisão de casas decimais

🔄 Sistema de eventos reativo

A interface Swing é atualizada automaticamente sempre que o modelo (Memoria) sofre alterações, por meio do padrão Observer:

  • Teclado → envia comandos para a Memoria
  • Memoria → processa e notifica os Observadores
  • Display → atualiza o valor exibido na tela

📸 Tela inicial da calculadora

image

🧠 Tecnologias Utilizadas

  • Java 21
  • 🖥️ Swing / AWT
  • 🧩 Padrão Observer
  • 🧱 GridBagLayout e FlowLayout
  • 🧪 Programação orientada a eventos

📜 Licença

Este projeto é licenciado sob a MIT License — você é livre para usar, estudar e modificar.

✨ Créditos

Projeto desenvolvido como exercício prático baseado no Curso de Java da Cod3r.

About

A Calculadora Swing é uma aplicação em Java com interface gráfica feita em Swing, criada para praticar POO e o padrão Observer em uma calculadora funcional. ENG: Calculadora Swing is a Java Swing app built to practice OOP and the Observer pattern through a simple functional calculator.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages