How to use font awesome in a fxml project (javafx)

font awesome fx glyph browser
how to use font awesome 5
font awesome icons
free font awesome icons
font awesome ro
font awesome yoga
font awesome light
font awesome food

I want to use font font awesome in my project but I have no idea how to use font awesome in my project.

I had found some example but they can't be use in fxml.

font awesome javafx

I need help how to use it in my project using fxml

Thank you.

I think this is what you need ControlFX that include font awesome support. see the javadoc for more info (But I tested it one day and it works fine)

How to use Font Awesome Icons in JavaFX?, There are many advantages that come from using fonts for icons instead of graphics. which you have to add to the resources folder of your project. In order to use Font Awesome in FXML, we have to reference it through  In order to use Font Awesome in FXML, we have to reference it through ResourceBundle. Using the font icon value directly on the FXML element will not work (e.x. <Label text="\uf13c" />) and it will throw an exception during the FXML processing. First, we need to prepare and load a properties file with icon definitions.

I achieved using FA Icons by adapting Jens Deters's approach.

His routines target dynamic gui composition opposing fxml's declarative way. Nevertheless, his AwesomeIcon enumeration (which maps FA comprehensible names with unicode characters) suited perfectly to my intents.

It should start by statically load the font in main/app class:

public class App extends Application {
    static {
        Font.loadFont(App.class.getResource("/font/fontawesome-webfont.ttf").toExternalForm(), 10);

    public void start(final Stage primaryStage) throws Exception {
        URL resource = getClass().getResource("/fxml/app.fxml");
        primaryStage.setScene(new Scene((Parent) FXMLLoader.load(resource), 500, 500));
        primaryStage.setTitle("FontAwesomeFX demo");;

    public static void main(String... args){

One can not use unicode characters in fxml (as needed to specify FA Icons), but can dynamic set attributes with such values. Hence having the above mentioned enumeration (AwesomeIcon), the job was done:

  1. The import:

    <?import de.jensd.fx.fontawesome.AwesomeIcon?>
  2. The node:

    <Label styleClass="awesome"
           style="-fx-font-family: FontAwesome; -fx-font-size: 16.0;">
        <text><AwesomeIcon fx:constant="FILE"/></text>

I end up implementing an Icon Widget/Control/Component for resuming the amount of code with two properties:

  1. value: FA Icon Name;
  2. size: styleable attribute for style -fx-font-size on label.

New code (same effect):

<Icon value="FILE" size="16"/>

The code for that control can be found here. You can also find an working example as it includes the font and testing code.

How to use "Font Awesome" Icons in JavaFX, The Font Awesome project contains a css file with a icon name / unicode character mapping: . /* Font Awesome uses the Unicode Private Use  Possible duplicate of how to use font awesome in a fxml project (javafx) – Jonny Henly Jul 8 '17 at 1:17 And I would like to do it without any external jars and fxml – Omega Jul 8 '17 at 10:47 add a comment |

I ported the Android-Iconics library, developed by Mike Penz, to FX. Updates will follow soon (docs, as well)..

The showcase.jar will give you an overview of the icons.

Usage (Java 1.8 required):

FxIconicsLabel labelTextDefault =
                (FxIconicsLabel) new FxIconicsLabel.Builder(FxFontGoogleMaterial.Icons.gmd_folder_special)
                        .text("Right (default)")

(or see

FxIconics on GitHub

Using 'Font Awesome' Icons with JavaFX, FontAwesomeCategory Subscribe Recently in a meeting I wanted to use it as a gimmick and I found out that Introducing fontawesomefx-examples project. Dave Gandy has created a incredible cool icon font called Font Awesome. These font icons perfectly fit into JavaFX Apps as: all these beautiful icons are scalable vector graphics. each icon (unicode character) can be styled with css. incredible lightweight (one font 249 icons)

FontAwesome, Wim Deblauwe · Blog · Projects · Book · About  This is awesome! A great solution for using icons in my Java application without having to look up .png icons or having to design them myself. Currently I’m working on a JavaFX project using Scene Builder 2.0 and by using your youtube video I was able to easily implement the FontAwesomeIcons, I was wondering however if I can add a hover effect?

As said by @Sedrick you can use fontawesomefx library and use it in FXML as follows:

Note: JavaFX 8 and FontAwesomeFx v8.9


<?xml version="1.0" encoding="UTF-8"?>

<?import de.jensd.fx.glyphs.fontawesome.FontAwesomeIconView?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.AnchorPane?>

<AnchorPane xmlns="" 
    prefHeight="760" prefWidth="1080">

    <Button text="Close" AnchorPane.topAnchor="0" AnchorPane.leftAnchor="0">
            <FontAwesomeIconView glyphName="CLOSE" glyphSize="24"/>


In scene builder looks like below:

Using Font Awesome in JavaFX with fontawesomefx, Maven dependency to add font awesome to your project <dependency> <​groupId>de.jensd</groupId> <artifactId>fontawesomefx</artifactId>  Updated font packs available! Issues fixed when using dedicated fonts in JavaFX applications (thanks to Dirk Lemmermann (@dlemmermann) for reporting): Some people also reported font loading issues with 32bit OpenJDK.

Add Font Awesome To Menu Item Javafx, This page provides Java code examples for de.jensd.fx.glyphs.fontawesome. getTabs().add(index, tab); controllers.put(tab, controller); view. Project: JttDesktop File: Source Code and License, 6 votes, vote down vote up @FXML @Override public void initialize() { super.initialize(); btnS3. As per my understanding, you are facing to add the custom fonts using scene builder in JavaFX right! I would recommend below said given blog and issue thread on the similar, Adding a Custom JavaFX Component to Scene Builder 2.0 (Part 2) How to set custom fonts in JavaFX Scene Builder using CSS; hope these above links will help you, thanks.

Java Code Examples de.jensd.fx.glyphs.fontawesome , Stacked Fontawesome icons in JavaFX/Griffon. sample.fxml. <?xml version="1.0" encoding="UTF-8"?> <?import griffon.javafx.scene.layout.MigLayoutPane?>. But thankfully there is a good solution for this problem. Since Java 8 JavaFX supports the @font-face rule that can be used to add fonts. As a first step the font file must be added to the application. As best practice the file should be added to the resources folder: Once this is done the font can be defined in CSS by using the @font-face rule:

Stacked Fontawesome icons in JavaFX/Griffon · GitHub, I had found some example but they can't be use in fxml. font awesome javafx. I need help how to use it in my project using fxml. Thank you. Java. Tag: combobox,javafx,javafx-2,javafx-8,fxml I took the sample code from How to create custom components in JavaFX 2.0 using FXML? . the code working fine in jdk7 but the checkbox and combo box values are not working in jdk8.

  • I tried this, but getting weired symbols instead of actual icons. Sorry i am new to Java and JavaFx. Also i am using exactly the same version of FontAwesom specified in your code "Icon Enum based on Font-Awesome v4.1.0"
  • Perhaps you missed some step. I just updated code to present an working example.
  • Thanks i will check that out. Also when i used '<AwesomeIcon fx:constant="FILE"/>' SceneBuilder no longer opens my fxml and throws error. Is this normal ?
  • This has stopped working with FontAwesome version 5. Would appreciate some inputs on my question about that:…
  • Creating an application in JavaFX for student project, I got your jar installed however my program crashes when running the line with FxIconicsLabel. Did I need to port something outside of your github page and how if so? Very new to JavaFX.
  • Turns out I had JDK 1.7 so I updated to 1.8 and problem fixed. Thank you for sharing this!
  • How to change icon in FontAwsomeIconView?
  • I have found that some versions don't work well with SceneBuilder. Have you tried editing in the FXML file?
  • yes, you need to provide FontAwesomeIcon name in glyphName as follows <FontAwesomeIconView glyphName="CLOSE" glyphSize="24" /> it works that way.