Lab 13 (Year 3 Sem 1)

Lab 13 is the fifteenth lab in semester 1 of year 3, and the fifteenth lab in the total of year 3. It is a lab for JavaFX with Scene Builder, and is considered to be of medium difficulty.

Description
Please check out the video attached to see how to organise project files with the MVC paradigm and make it work on a JavaFX program. The video is such that MVC is done on the default JavaFX project template on IntelliJ.

Unlocked after completion

 * OCD (Score at least 60% for Lab 13: JavaFX with Scene Builder)
 * GUI Builder (Score at least 80% for Lab 13: JavaFX with Scene Builder)

Files
[[Media:How+to+MVC+IntelliJ.mp4|How to MVC IntelliJ.mp4]]

Question
Follow the steps outlined in the Chapter 13 notes and create your own version of the JCalculator App (however you may change the look and feel of the app as you deem fit). Note that your program should add in relevant exception handling such that an Error Dialog will be shown if user keys in invalid data (e.g. "ABC"). Add a hyperlink on the bottom right of the GUI with text "About the Programmer". Add relevant code such that a new window will pop up when user clicks that button. The new window should have information about the programmer (i.e. you). Add your avatar to the window. Add an icon to the JCalculator app. You should demo your end product to your teacher BEFORE you finalize submission. Zip your ENTIRE project folder and submit that zip file:

Question
In this question, you should code a simple JavaFX Survey Form. Your survey will have the following questions, using the stated controls: After a user click on submit button, you should save the user response to a file (the results should be appended to the end of the file so that you can record all users who did the survey). Your program should pop up a dialog box to notify user when the results has been saved successfully, or if any error has occurred. Recall the MVC design discussed in section 13.1 We will create this program using MVC design.   Model - The model will be a class called Student. You will need attributes name, gender, mentorgroup and languages (all in String data type), a constructor and a toString method.  Controller - The controller will contain all code to interact with the View and the Model (i.e. Student class)  View - The view will be the FXML file.  Your completed program should look as follows: You should demo your end product to your teacher BEFORE you finalize submission. Zip your ENTIRE project folder and submit that zip file:</b>