Updated April 8, 2023
Introduction to JavaFX Libraries
In order to create and deliver several applications for desktop as well as RIA ( Rich Internet Applications), a software platform is used known as JavaFX. It can be used in a humongous number of devices due to its features. The graphics set and media features helps the developers and designers for designing, creating, testing, debugging and deploying the applications that can run across several platforms. In this document, the libraries of JavaFX will be explained in detail.
Different Libraries of JavaFX
There are several libraries available in JavaFX that performs a huge variety of functions. They include:
1. ControlsFX
An open-source project that is used to offer high-quality controls on User Interface is present in JavaFX. It is known as ControlsFX. It also offers several tools in order to complement the JavaFX distribution. Since it is developed mainly for the JavaFX versions 8.0 and above, it has a principle that new features or controls will be accepted only if the current code is in a higher version. Due to this property, this helps in ensuring a very good quality release every time.
The features and control of ControlsFX include:
- Actions
- SnapshotView
- Dialogs
- Top Quality JavaDocs
- PlusMinusSlider
- PropertySheet
- Borders
- Translations
- PopOver
- SearchableComboBox
- GridView
- TaskProgressView
- BreadcrumbBar
- InfoOverlay
- WorldMapView
- ToggleSwitch
- ButtonBar
- SpreadsheetView
- TextFields
- Notifications / NotificationPane
- CheckComboBox
- HyperlinkLabel
- SegmentedBar
- Decoration / Validation
- ListSelectionView
- FXSampler
- Rating
- Glyph font pack support
- SegmentedButton
- HiddenSidesPane
- RangeSlider
- MasterDetailPane
2. BootstrapFX
In JavaFX, a partial port of Twitter Bootstrap is available which is termed as BootstrapFX. It primarily offers a CSS stylesheet that almost looks like the original, at the same time, custom-made for unique CSS flavor in JavaFX. Even though Twitter Bootstrap is more advanced than BootstrapFX, it has winning features.
Supported Cascade Style Sheet classes include:
- Text: b , kbd , strong , italic , lead , p , text-warning , text-mute , text-success , text-primary , text-info, text-danger.
- Buttons: btn-warning, btn-primary, btn-xs, btn, btn-info, btn-default, btn-lg, btn-success, btn-sm, btn-danger
- SplitMenu Buttons: split-menu-btn-xs, split-menu-btn-info, split-menu-btn, split-menu-btn-sm, split-menu-btn-default, split-menu-btn-lg, split-menu-btn-primary, split-menu-btn-danger, split-menu-btn-success , split-menu-btn-warning.
- Labels: lbl, lbl-info, lbl-primary, lbl-danger, lbl-default, lbl-success, lbl-warning.
- Panels: panel-info, panel-danger, panel-footer, panel, panel-body, panel-default, panel-title, panel-primary, panel-heading, panel-success, panel-warning.
- Alerts: alert-warring groups, alert, alert-danger, alert-success, alert-info.
- Progress Bars: progress-bar-info, progress-bar-primary, progress-bar-warning, progress-bar-success, progress-bar-danger.
- Tooltips: tooltip-danger, tooltip-success, tooltip-primary, tooltip-info, tooltip-warning.
3. Object Graph Visualizer
In JavaFX, a tool Object Graph Visualizer is used which helps upcoming students regarding the several object-oriented patterns and paradigms. It is by visualizing the objects and classes in a three dimensional (3D) perspective. The classes will be denoted in the XZ Plane with the help of a Unified Modelling diagram (UML Diagram). At the same time, objects will be denoted in the Y-axis with the help of the Object diagram. The objects and classes in the Graph can be connected with relations such as Generalization, Associations, Compositions and object relations.
The functionalities and features of Object Graph Visualizer include:
- Attributes
- Dependency
- Multiplicities
- Generalization
- Roles
- Object-Oriented Programming paradigm
- Multiple Virtual Inheritance
- Bidirected Associations
- Object Graph Mode
- Directed Associations
- Coloring
- Save and Load feature
- Rotational Free camera placement
- Undirected Associations
- 3D Visualization
- Aggregations
- Object Diagram creation
- Compositions
- Class Diagram creation
- Use Case: Educational, UML use case, Software Engineering,
- (VOG) View Object Graph
- Simulate Inheritance (Here, it can be virtual multiple inheritances)
- Operating systems: Windows OS, Mac OS, Linux OS
- Runtime Environment: Java 8u45
4. FormsFX
Unlike other tasks, the creation of forms is very tough in JavaFX as the chances of errors are more compared to others. In order to address this problem, a framework is used known as FormsFX. It offers the developer to make forms with simplicity and makes user-friendly and well-designed forms default. It also provides a fluent Application Programming Interface (API) that lowers the lines of coding and easy to understand as well. For the properties, it makes all the required bindings that work fine. Whenever the user edits the data that is available, each and every field in the form is validated. It also provides a huge amount of pre-defined validators, and custom validators can also be made using the method CustomValidator.forPredicate().
The main features of FormsFX includes:
- Fluent Application Programming Interface which is simple and understandable
- Wide variety of semantic items
- Validation
- Predefined controls
- Localization
5. RichTextFX
In JavaFX, a memory-efficient area for text is provided that permits the developer to view custom objects, style text, and override the behavior that is default only when it is needful. It is envisioned as a base for code editors that contains syntax highlighting and also, rich-text editors. Due to this, certain features won’t be directly implemented here. The main customers of RichTextFX are mqtt-spy, Kappa IDE, JuliarFuture, OmniEditor, Arduino Harp, JDialogue, PsychSQL, BlueJ.
RichTextFX features include:
- Overriding
- Popup window positioning compared to the selection
- Display of nodes in-line will be supported
- Line numbers or graphics above paragraphs can be displayed.
- Breakpoint toggles
- Character index displays when the mouse hovers over the text.
6. FlexGanttFX
In Java, a framework is present which is based on JavaFX that is used to create Gantt Charts. It is known as FlexGanttFX. Due to its large abstraction level, it is applied in several domains such as production planning, manufacturing execution systems, ERP Systems, etc. The predecessors such as DJT and FlexGantt ( used for Swing ) of this framework was also used by different scheduling and planning applications.
The key features of FlexGanttFX include:
- Flexibility
- Speed
- Elegance
Main customers include NASA, SAIC, Siemens, Raytheon, Lockhead Martin, ABAS, Boeing, JPL, Bauer, etc.
Conclusion
RIA applications and desktop applications are nowadays created using the software platform JavaFX. Due to the variety of features, graphics set, media functionalities, developers prefer using this. In this document, libraries of JavaFX that are already available in version 13.0 is clearly explained.
Recommended Articles
This is a guide to JavaFX Libraries. Here we discuss the introduction and different libraries of javaFX along with its Features. You may also look at the following articles to learn more –