← Back to Portfolio
Microwave Simulator

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.