# "fxml_07" JavaFX Mortgage Calculator in a Nutshell

This program creates and maintains a JavaFX GUI for a simple mortgage calculator. It demonstrates among other things how event filtering can be applied to make sure that the numbers entered by the user into the text fields remain valid, such that the calculations can be carried out properly. In addition it demonstrates formatting numbers (according to the default Locale) with and without currency. An overview of JavaFX event handling can be found at `https://docs.oracle.com/javafx/2/events/processing.htm` (as of 2019-02-17).

Hint: if you wish to look at the ooRexx code with syntax highlighting, then you can use the free and open-source editor `"[g]vim"`, which is available for practically all platforms and can be downloaded from its homepage at http://www.vim.org/.

. <directory> (List of this directory)
  Display all of this directory's files and directories.
.. <directory> (List of parent directory)
  Display all of the parent directory's files and directories.

The following files and Rexx packages (Rexx programs) are used in this application:

MortgageCalculator.rex, usage: "`MortgageCalculator.rex`" or (on MacOSX use `rexxj.sh` instead) "`rexxj.cmd MortgageCalculator.rex`"
  The main Rexx program that sets up and starts the JavaFX application.
MortgageController.rex
  the Rexx program that defines the behaviour of the GUI, filtering the key events in the text fields to make sure that only valid numbers get entered and synchronizing the slider with the text fields, a public routine to react upon the press of the calculate push button.
fxml/put_FXID_objects_into.my.app.rex
  A utilty Rexx program/package that is called from within each GUI-FXML file which makes all its JavaFX objects (those that have a "fx:id" attribute defined) available to all running Rexx programs.
Mortgage.fxml
  The FXML file defining the GUI for the application.

Rony G. Flatscher, 2019-02-17 Wien/Vienna, Austria, Europe