JavaFX and Database Programming Exercise

Objective of this exercise is to practice JavaFX and Java Database Connectivity basics.


Above is the user interface of how your application shall look like (exactly same look&feel is not required, consider it just a template or mockup). Develop it using JavaFX library. When user fill the form and press 'add' button, the record shall be added in the table shown on left side. The Action columsn in table shows Update and Remove links (you can use buttons too), the "Update" link shall load that record in the form, shown at right. When user update the values and press 'update' button at form, it shall update the corresponding row in the table. Initially, when the page is loaded, the table shall be empty and "Update" button shall be disabled. When user click the "Update" link in a row, "add" button shall be disabled. "Reset" button shall reinitialize the form at the same state when the page was loaded, to add new records.


Above table and form section, add a checkbox labeled "Sync With Database", when checkbox is selected, operation performed (i.e. add, update and remove etc.) should also persist in database (so you shall make required table and database too) i.e. it shall keep your database and JavaFX view synchronized. When page is loaded initially, the table shall contain all records stored in the database. The database related operations shall be performed in individual method in a separate class e.g. DBService, those method shall be called from your JavaFX application. Do not clutter the code, try to write clean code i.e. properly indented, righ naming, and defining each thing at right place.

Feel free to implement observer model i.e. automatic binding of view with model, CSS for designing, menus, TableView and ListView etc. (if it make sense, where it make sense). I mean, you can make it more feature rich and beautiful. This is 20 marks assignment.

How to submit?

Place your all source code in a package that must be named as (change as per your info) sp19_bse_052_zia_khan. After you have done your working, zip your package and upload that file in Google ClassRoom Assignment 4. If your name is Zia Khan and your registration number is SP19-BSE-052, your zip file MUST BE NAMED as (the zip file must contain a single folder i.e. the package, do not create long list of nested folders/package, please).


  1. If you have any question or need further explanation, feel free to ask here in comments.


Post a Comment