"fxml_99" Rexx Address Book Application
This directory contains the Rexx implementation (cf. MainApp.rexMainApp.rex) of the JavaFX address book tutorial from:
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 Rexx packages (Rexx programs) are used in this application.
- MainApp.rex, usage: "
rexx MainApp.rex [json-file]
" or
(on Linux use rexxj.sh
instead) "rexxj.cmd MainApp.rex [json-file]
"
- The main Rexx program that sets up and starts the JavaFX application. This program
will cause JavaFX to load and process the GUI defined in the XML text files (file type of
.fxml
)
and implements the controllers for the different GUI-FXML files.
- 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.
- json-rgf.cls
- A Rexx package allowing to read and write JSON encoded data.
Used to read and write address book data.
The following FXML
files define individual GUI controls (cf.
introduction_to_fxml.html
):
- RootLayout.fxml
- This FXML text file defines the root GUI which is used to place the PersonOverview.fxml
GUI into its center area and which gets displayed in the application's primary
stage (a window).
- PersonOverview.fxml
- This FXML text file defines the GUI to display all address book persons in a list (using a
TableView)
and depict the details of a selected person on the right hand side together with a menu to create, edit
or delete persons in the list.
- PersonEditDialog.fxml
- This FXML text file defines the GUI to display and edit a person's detail. It will be displayed
in its own window (a Stage),
but modal to the primary stage.
- BirthdayStatistics.fxml
- This FXML text file defines the GUI to display and edit a
bar chart depicting
the frequency of the birthday months. This GUI will be displayed in its own window (a
Stage),
but modal to the primary stage.
- PersonPrinterDialog.fxml
- This FXML text file defines the GUI to display and print the generated print data. It
uses the JavaFX javafx.scene.web.WebView class, which is a JavaFX HTML 5 browser control
(cf. the Oracle tutorial https://docs.oracle.com/javafx/2/webview/jfxpub-webview.htm).
The following file defines the CSS (cascading style sheet) rules to apply to all the JavaFX GUI elements:
- DarkTheme.css
- The CSS rules to format all GUI elements of this application, cf.
JavaFX 8 Tutorial - Part 4: CSS Styling.
- DarkThemePrint.css
- The CSS rules to format all GUI elements of this application for printing. As of 2017-01-04 note:
JavaFX 8.0
WebEngine
uses WebKit as the user
agent to render the generated HTML 5 data.
Rony G. Flatscher, 2016-12-06, 2017-01-04, 2021-06-27 Wien/Vienna, Austria, Europe