JavaFX In Action #26 with Helal Anwar about GradedAttendance to Organize Class Rooms, Students, Teachers, and Lessons

JavaFX In Action #26 with Helal Anwar about GradedAttendance to Organize Class Rooms, Students, Teachers, and Lessons

Every week I collect a list of posts, social messages, videos, etc. related to JavaFX on the JFX Central Links Of The Week. One of the regular “appearances” is Helal Anwar, who is building impressive educational tools with JavaFX. In this interview, we discuss his GradedAttendance application and other JavaFX projects he’s working on.

About Helal

Helal Anwar is an undergraduate student, passionate about creating practical solutions for educational environments. His philosophy on programming is clear: “Programming isn’t about what you know; it’s about what you can figure out.” With experience in both teaching and software development, he has identified common challenges in classroom management and built JavaFX-based tools to address them.

He is an active contributor to the JavaFX community, regularly sharing his projects and insights on social media, making him a frequent feature in the JavaFX Links of the Week on JFX Central. Beyond GradedAttendance, he has created several other JavaFX applications including a Quiz App, Calculator, Media Player, and Sliding Puzzle game.

You can find him and his work on:

About GradedAttendance

GradedAttendance is a desktop application built with JavaFX to manage student attendance and classroom activities in educational settings. The application demonstrates several key advantages of using JavaFX for educational tools, making it a perfect solution for teachers and educational institutions.

Why JavaFX for Educational Tools

The choice of JavaFX as the development platform was deliberate and well-justified. Unlike web-based solutions, a desktop application built with JavaFX offers several critical advantages:

Technical Implementation and Design

The application showcases several JavaFX features and best practices. Helal is a big fan of Scene Builder for designing user interfaces, which allows for visual layout design and rapid prototyping. The application takes full advantage of JavaFX’s rendering capabilities to create a polished, professional interface that renders beautifully within the JavaFX framework.

For data storage, GradedAttendance uses SQLite. Despite its name suggesting “light,” SQLite provides a full-featured database that’s perfect for desktop applications, handling all data storage needs efficiently while keeping everything local to the user’s machine.

The Open Source Philosophy

The project is open source, shared with the community not necessarily to gather contributors (though they’re welcome), but primarily to help others who might face similar challenges. Helal’s philosophy is simple: when he couldn’t find a solution to his problem, he created one and shared it so others wouldn’t have to start from scratch.

Learning JavaFX with Modern Tools

An interesting point raised during the interview is the value of JavaFX’s maturity when it comes to learning and problem-solving. Tools like ChatGPT and other AI assistants have been trained on extensive JavaFX documentation and examples accumulated over years. This means that even older examples and tutorials remain relevant and useful for learning JavaFX, making it easier for newcomers to get started. The stability of the platform ensures that knowledge gained years ago is still applicable today.

The State of JavaFX in Education

The interview touched an important issue: many educational institutions still teach older Java GUI frameworks like Swing, despite JavaFX being a more modern and capable alternative. As Helal pointed out, when he was taught Java in college, they were still teaching Swing. His question was simple but important: “Why are you teaching Swing? There’s a better thing available. Why not teach that?” This highlights the need for greater awareness of JavaFX’s capabilities in academic settings.

Looking at the Code

When discussing what he’s most proud of in the codebase, Helal mentioned the integration of various libraries that make the application powerful yet maintainable. The use of AtlantaFX for theming, CalendarFX for scheduling features, and Ikonli for icons creates a modern, professional application. The application also incorporates JLatexMath for rendering mathematical formulas, which is particularly useful in educational contexts, and SQLite JDBC for robust database connectivity.

You can find more information about GradedAttendance on:

Used libraries and other links from the video:

Video content

00:00 Who is Helal

00:57 How GradedAttendance started (thanks to SceneBuilder)

02:29 About GradedAttendance and demo of the application

06:47 Why JavaFX and not a browser application?

07:40 Challenges during development (database)

10:05 Goal of making it as an open-source project

11:25 Other projects Helal worked on

13:04 Learning from books and chat systems

13:45 How GradedAttendance became bigger thanks to MelodyMatrix and AtlantaFX

14:59 Helal wants to see JavaFX more used in programming classes

15:45 Thanks to the many Java library creators!

More JFX In Action…

Click here for more posts with JFX In Action videos.