如何在fxml项目中使用字体真棒(javafx)
我想在我的项目中使用字体字体真棒,但我不知道如何在我的项目中使用字体真棒。
我找到了一些例子,但它们不能在fxml中使用。
我需要帮助如何使用fxml在我的项目中使用它
谢谢。
我想在我的项目中使用字体字体真棒,但我不知道如何在我的项目中使用字体真棒。
我找到了一些例子,但它们不能在fxml中使用。
我需要帮助如何使用fxml在我的项目中使用它
谢谢。
我通过改编Jens Deters的方法实现了使用FA Icons。
他的例程针对动态 gui 组合,反对 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),工作就完成了:
导入:
<?import de.jensd.fx.fontawesome.AwesomeIcon?>
节点:
<Label styleClass="awesome"
style="-fx-font-family: FontAwesome; -fx-font-size: 16.0;">
<text><AwesomeIcon fx:constant="FILE"/></text>
</Label>
我最终实现了一个图标小部件/控件/组件,用于恢复具有两个属性的代码量:
-fx-font-size
新代码(效果相同):
<Icon value="FILE" size="16"/>
可在此处找到该控件的代码。您还可以找到一个工作示例,因为它包含字体和测试代码。