Avans Hogeschool – Bachelor Year 1
Assessment Project: Java & JavaFX
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.
- 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, andPane
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
- 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
- Open the project in IntelliJ IDEA or Eclipse
- Ensure JavaFX is correctly configured in your IDE
- Set the main class (e.g.,
Main.java) as the entry point - 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