← Back to Portfolio

Microwave Simulator

Microwave Simulator
javaApr 2026Lead Developer

Project Overview

An object-oriented Java Swing application simulating the operation of a physical microwave oven. Features comprehensive state modeling representing status changes (idle, heating, paused, open door) and real-time thread synchronization.

Key Features

  • Fully simulated control panel supporting input times, start/stop commands, and preset modes
  • Asynchronous countdown thread modeling microwave heating with a visual progress dial
  • Dynamic state locking preventing heating when the virtual oven door is toggled open
  • Interactive alert system sounding virtual bleep signals on timer completion

Technical Challenges & Solutions

Synchronizing GUI state updates across background threads without encountering race conditions. Solved by utilizing SwingWorker and wrapping display events within EventQueue.invokeLater, keeping state locks thread-safe.