JavaFX java best UI Api
JavaFX is a Java library that is used to develop Desktop applications as well as Rich Internet Applications (RIA). The applications built in JavaFX, can run on multiple platforms including Web, Mobile and Desktops.
JavaFX includes smart libraries that makes it sleek and beautiful library such as Fundamentals, 2D Shapes, 3D Shapes, Effects, Animation, Text, Layouts, UI Controls, Transformations, Charts, JavaFX with CSS, JavaFX with Media etc.
What is JavaFX?
JavaFX is a Java library used to develop Desktop applications as well as Rich Internet Applications (RIA). The applications built in JavaFX, can run on multiple platforms including Web, Mobile and Desktops.
JavaFX is intended to replace swing in Java applications as a GUI framework. However, It provides more functionalities than swing. Like Swing, JavaFX also provides its own components and doesn't depend upon the operating system. It is lightweight and hardware accelerated. It supports various operating systems including Windows, Linux and Mac OS.
History of JavaFX
JavaFX was developed by Chris Oliver. Initially the project was named as Form Follows Functions (F3) . It is intended to provide the richer functionalities for the GUI application development. Later, Sun Micro-systems acquired F3 project as JavaFX in June, 2005.
Sun Micro-systems announces it officially in 2007 at W3 Conference. In October 2008, JavaFX 1.0 was released. In 2009, ORACLE corporation acquires Sun Micro-Systems and released JavaFX 1.2. the latest version of JavaFX is JavaFX 1.8 which was released on 18th March 2014.
Javafx external libraries
Javafx include external smart library that you can import into your project for beautiful and presentable designs
Examples
Best JavaFX Layout Libraries
MigLayout
MigLayout is a layout engine is written in pure Java, which values simplicity, power and automatic per platform fidelity. User interfaces created with MigLayout are easy to maintain, you most likely will understand how the layout will look like just by looking at the source code. You can whip up a pretty UI that is reasonable about aligning your elements into rows and columns automatically in no time.
- Best JavaFX Widget Libraries
Medusa
image of Medusa Javafx library for gauges
Medusa is a JavaFX library for Gauges by Gerrit Grunwald. The main focus of this project is to provide Gauges that can be configured in multiple ways. It has beautiful widgets for reporting metrics, available under the Apache 2.0 License and if you're doing any reporting, you should check it out.
- TilesFX
TilesFX is another widget library by Gerrit, who is an amazing developer by the way. TilesFX offers you a set of tile widgets for all kinds of purposes, alarms, weather, data presentation so that you can create super fun dashboards. - JSilhouette
If you need to use custom shapes in your application, like maybe a star or a donut, or arrows, you can use JSilhouette. The shapes in the default JavaFX library are limited, and this is a very useful extension library. - JideFX
If you come from Swing, you might remember Jide - a framework for widgets like a formatted text field, or numeric text fields, together with the validation, and so on. Look no more; you can look into the JideFX, and get tooltips, animations, search widgets, all kinds of text controls.
- RichTextFX
screenshot of RichTextFX text area for JavaFX with API
RichTextFX provides a text area for JavaFX with API to style ranges of text. It is intended as a base for rich-text editors and code editors with syntax highlighting. If you need to display complicatedly formatted text or have a custom syntax highlight, RichTextFX is the library to check out.
- JFXtras
JFXtras is an open source library of components that a Java developer would like to have at their disposal, but which are missing from the JavaFX library. You can get calendar widgets, different sorts of date and time picker widgets, menus that pop up on click, and so on. If a component is not that mature yet it can temporarily reside in JFXtras-labs library, but after some time and exposure it will be promoted to the main one. - ControlsFX
You can think of ControlsFX as a playground or an incubator for the widgets that will be eventually integrated into the JavaFX. Currently, you can find widgets like the bread-crumb-bar, different button bars, decorators for the input fields for CSS, fonts and so on. - Gluon Maps
There isn't that much to say about a map library, Gluon Maps provides a nice looking map controller. It has a dual licensing, GPL3 or a dual license that you can purchase and use it in a non-GPL3 app. The widget comes with a backend that knows how to feed the data information to your map. And you can use different backends for that: OpenStreetMap or such. - OrsonCharts
Finally, if you're into charts you should check out OrsonCharts. It has a wide range of various charts that are better looking that the standard JavaFX solutions. It also has a dual license, so you should be careful not to overstep the licensing boundaries.
TRY NOW
Best JavaFX Styling Libraries
The great thing about JavaFX is that most widgets support custom styling with the CSS.
JFoenix
screenshot of JFoenix material design components
JFoenix is an implementation of the material design. It comes with a lot of components looking pretty close to the material design guidelines and all the required animations: sliding menus, flying in and out popups, color pickers and much much more.
BootstrapFX
Another look and feel library that you should consider using is the BootstrapFX. BootstrapFX is a partial port of Twitter Bootstrap for JavaFX. It provides a CSS stylesheet that closely resembles the original while being custom tailored for JavaFX’s unique CSS flavor.
FontawesomeFX
Fontawesome is a web icon font, providing tons of images to use on the elements to spice them up. Good thing is that the web icon fonts fit perfectly into JavaFX as it is lightweight and consisting of the scalable vector images. FontawesomeFX gives you access to fontawesome icons.
Ikonli
screenshot of Ikonli icons
Ikonli is another project that deals with the icons. These also provide you access to font-awesome, developer icons, weather icons, etc. And what is even better if offers more possibilities to customize these, including stacked icons so that you can have an icon in a circle or something.