Back to Projects
Java Swing Presentation Editor

Java Swing Presentation Editor

This project is a fully featured presentation editor developed using Java Swing, designed to mimic the functionality of PowerPoint while being built entirely from scratch. Users can create and manage multi-slide presentations, navigate slides via a thumbnail panel, and add rich content such as formatted text, images, and drawings. Key Features: - Multi-slide management with thumbnail navigation - Rich text formatting capabilities - Image handling and insertion - Drawing tools for custom graphics - Full-screen presentation mode with dynamic scaling Each slide maintains its own independent state, including: - Text boxes - Images - Drawings - Background colours - Speaker notes All presentation data is serialized to and restored from a custom JSON format, ensuring full persistence across sessions and backward compatibility with older file formats. The application uses an event-driven architecture with reusable draggable components, custom rendering using Graphics2D, and an MVC-like separation between UI, slide state, and presentation logic. A full-screen presentation mode scales slides dynamically to fit the display, providing a realistic slide-show experience. This project demonstrates advanced desktop GUI development, clean object-oriented design, custom state management, and real-world editor-style functionality beyond basic coursework.

Technologies Used

JavaJava SwingJava2DJSON