Bachelor-Thesis: ooRexx and JavaFX: A Perfect Match for GUI Development

Author: Isabella Dall'Oglio
Date: 20.03.2022

Prerequisites (Applications)

OpenJDK 8: 
 - Link: https://bell-sw.com/pages/downloads/
 - Download the ZIP Liberica Full JDK 8u362+9 x86 64 for Windows, it includes OpenJFX

ooRexx 5.0.0 (64 Bit): GNU General Public Liicense-version-2.0, Common Public License Version 1.0
 - Link: https://sourceforge.net/projects/oorexx/files/oorexx/5.0.0/ooRexx-5.0.0-12583.windows.x86_64.exe/download

BSF4ooRexx850: Apache License Version 2.0
 - Link: https://sourceforge.net/projects/bsf4oorexx/

SceneBuilder-8.5.0: BSD License
 - Link: https://gluonhq.com/products/scene-builder/#download
 - Download Version 8.5.0 for Java 8.

jfoenix-8.0.10: Apache License Version 2.0
 - Link: https://github.com/sshahine/JFoenix
 - Download JFoenix for Java 8

controlsfx-8.40.18: BSD 3-Clause License
 - Link: https://mvnrepository.com/artifact/org.controlsfx/controlsfx/8.40.18

DB Browser for SQLite-3.12.2: GNU General Public License Version 3.0
 - Link: https://sqlitebrowser.org/dl/
 - Download DB Browser for SQLite - Standard installer for 64-bit Windows

sqlite-jdbc-3.41.0.0: Apache License Version 2.0
 - Link: https://github.com/xerial/sqlite-jdbc/releases

The original development of JFoenix and ControlsFX was intended for Java 8. In case of using newer Java versions, there may arise compatibility issues which could require code modifications. If one intends to run JFoenix with Java versions beyond Java 8, it is advisable to download the latest version that is suitable for Java 9 and higher, which is currently version 9.0.10 (as of March 2023). Similarly, it is recommended to use the latest version of ControlsFX suitable for Java 9 and higher, which is version 11.1.2 (as of March 2023). For JavaFX 9 and higher, the latest version of Scene Builder is recommended.


Installation Guide:

1) It is necessary to install Java version 8 on the operating system. It is
important to note that the installed version of Java has the same bit rate (64 Bit) as
ooRexx and includes JavaFX. Once the appropriate Java version has been downloaded, run the setup file and follow the installation process to complete the installation.

2) Once the required version of Java has been installed, the next step is to
install ooRexx version 5.0.0 To avoid any potential program errors, it is important to ensure that the installation file has the same bit architecture as the operating system and
Java. After running the .exe file for ooRexx, an installation manager will appear, which should be followed.

3) After successfully installing Java and ooRexx, the next step is to download
and install BSF4ooRexx850.To install BSF4ooRexx, the downloaded ZIP archive must be extracted to any location within the operating system. After extraction, a subdirectory
named "install" will appear, which contains installation files for all relevant operating systems (Windows, Mac, Linux).

4) In order to use the graphical user interface (GUI) builder for JavaFX applications, called Scene Builder, it must first be installed on the operating
system. After downloading the installation files, run the setup file and follow the installation process.

5) In order to use JavaFX libraries JFoenix or ControlsFX in a JavaFX project or in SceneBuilder, the first step is to download the libraries. Before using the libraries in a Java project, it's necessary to add the JAR files to the CLASSPATH variable. Before using the libraries in the SceneBuilder they must be added to the library list. 

6) In order to use a Database, DB Browser for SQLite must be installed on the operating system. The DB Browser hepls dealing with databases. After downloading the installation files, run the setup file and follow the installation process. Before using a SQLite database in a Java project, it's necessary to download the SQLite JDBC library and add the JAR file to the CLASSPATH variable. 

7)In order to include JAR files in the CLASSPATH on a Windows operating system, 
follow these steps:
	1. Open the "Control Panel" from the Windows Start menu.
	2. Select "System and Security", then click on "System".
	3. Click on "Advanced system settings" on the right-hand side of the window.
	4. In the "System Properties" window, click on the "Environment Variables" button.
	   Under "System Variables", scroll down and find the "CLASSPATH" variable, then click "Edit".
	6. In the "Edit Environment Variable" window, click "New" to add a new path to the CLASSPATH.
	7. Enter the file path of the directory containing the JAR files to include in the CLASSPATH.
	8. Click "OK" to close all the windows.


Example 1 - Application with ooRexx:

The Nutshell example is an simple ooRexx script that acts as a BMI calculator and employs the JavaFX library to produce a graphical user
interface (GUI) without the use of FXML. To start the application execute the file ooRexx_GUI.rexx.

Example 2 - Application with FXML and CSS:

The Nutshell example presents an extension of the nutshell example one, demonstrating how to create a user-friendly graphical user interface (GUI) using ooRexx, FXML and CSS. To start the application execute the file Main.rexx.

Example 3 - Application with JFoenix:

The Nutshell example presents a program for calculating a person's BMI and calorie requirement, which is styled using the JFoenix library. In this example, a StageHandler is also used to manage the different scenes. To start the application execute the file main.rexx.

Example 4 - Application with ControlsFX and JDBC:

The Nutshell example presents a form that stores user data in a database and is styled using the ControlsFX library. To start the application execute the file main.rexx. 