Skip to content
This repository was archived by the owner on Apr 29, 2025. It is now read-only.

pepijnemmers/prog4-assesment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Painting Generator — JavaFX Standalone Application

Avans Hogeschool – Bachelor Year 1
Assessment Project: Java & JavaFX


🎨 Project Overview

This application was developed as an individual assessment project in the first year of the bachelor’s program at Avans University of Applied Sciences.
The goal was to build a standalone JavaFX application that demonstrates a broad range of GUI and file interaction features.

The app simulates a generative art tool where users can build a "painting" by adding trees to a canvas. It includes interactivity, animations, custom layout management, and file export/import functionality.

🖼️ Application Features

  • Add two different types of trees to the canvas
  • Add 100 random trees with one click
  • Clear the canvas with a reset button
  • Play mode: animate the painting in a loop
  • Export the current painting to a file
  • Import a previously saved painting
  • A signature is displayed in the bottom-right corner, with a dropdown to change its font style
  • Utilizes a JavaFX menu bar, and various layout managers like VBox, HBox, and Pane

🧠 Learning Objectives

This project was focused on applying the following JavaFX concepts:

  • Event-driven programming with buttons and menus
  • Drawing and animating custom shapes (e.g., trees made of circles/rectangles)
  • JavaFX layout structures and scene organization
  • File I/O for saving and loading state
  • Timeline-based animations and scene transitions
  • JavaFX styling and font control

🛠️ Technologies Used

  • Java 17+
  • JavaFX (UI and graphics)
  • File I/O (import/export painting)
  • OOP principles (tree types, modular design)
  • FXML was not used; everything was built programmatically

▶️ How to Run

  1. Open the project in IntelliJ IDEA or Eclipse
  2. Ensure JavaFX is correctly configured in your IDE
  3. Set the main class (e.g., Main.java) as the entry point
  4. Run the project — the application window should open

You could also run it from the terminal.


Built with ☕, loops, and layout managers at Avans Hogeschool - by Pepijn Emmers

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages