如何在fxml项目中使用字体awesome(javafx)

我想在我的项目中使用字体字体真棒,但我不知道如何在我的项目中使用字体真棒。

我找到了一些例子,但它们不能在fxml中使用。

字体真棒javafx

我需要帮助如何使用fxml在我的项目中使用它

谢谢…

我认为这就是你需要ControlFX ,包括字体真棒支持。 请参阅javadoc以获取更多信息(但我有一天测试了它并且工作正常)

通过调整Jens Deters的方法,我实现了使用FA图标。

他的惯例针对的是反对fxml声明方式的动态组合。 尽管如此, 他的AwesomeIcon枚举 (使用unicode字符映射FA可理解的名称)非常适合我的意图。

它应该首先在main / app类中静态加载字体:

public class App extends Application { static { Font.loadFont(App.class.getResource("/font/fontawesome-webfont.ttf").toExternalForm(), 10); } @Override 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"); primaryStage.show(); } public static void main(String... args){ launch(args); } } 

不能在fxml中使用unicode字符(根据需要指定FA图标),但可以使用这些值动态设置属性。 因此,有了上面提到的枚举(AwesomeIcon),工作完成了:

  1. import:

      
  2. 节点:

      

我最终实现了一个Icon Widget / Control / Component,用于恢复具有两个属性的代码量:

  1. 值: FA图标名称;
  2. size:标签上样式-fx-font-size样式属性。

新代码(效果相同):

  

可以在此处找到该控件的代码。 您还可以找到一个工作示例,因为它包含字体和测试代码。

我将由Mike Penz开发的Android-Iconics库移植到FX。 更新将很快跟进(文档,以及)..

showcase.jar将为您提供图标的概述。

用法( 需要Java 1.8 ):

 FxIconicsLabel labelTextDefault = (FxIconicsLabel) new FxIconicsLabel.Builder(FxFontGoogleMaterial.Icons.gmd_folder_special) .size(24) .text("Right (default)") .color(MaterialColor.ORANGE_500) .build(); 

(或参见DialogPlayGround.java)

GitHub上的FxIconics

在此处输入图像描述 在此处输入图像描述

如果你使用SceneBuilder试试这个。

  • 首先,下载’fontawesomefx’ 。
  • 其次,使用SceneBuilder的Jar / FXML Manager将jar导入SceneBuilder
  • 三,Library搜索FontAwesomeIconViewGlyphCheckBoxMaterialDesignIconViewMaterialIconViewWeatherIconView

样本FXML:

                       

在此处输入图像描述

不要忘记将这些jar子添加到项目的类路径中!