如何更改自定义字体文字大小?

时间:2017-01-04 20:04:27

标签: java javafx fonts

我已经在eclipse中上传了我自己的字体,如下所示:

Font buttonFontDefault = Font.loadFont(MenuView.class.getClassLoader().getResourceAsStream("res/font/niagra_eng.TTF"), 100);

它运作得很好。我唯一的问题是,改变文本大小,用这种字体写的按钮和标签的唯一方法是制作一种新的字体,唯一的区别是代码末尾的大小。 我也尝试了以下内容:

button.setScaleX(0.50);
button.setScaleY(0.50);

上面的代码有效,但随后它会破坏我的GridPane布局,因为gridpane根据原始按钮大小进行操作。 我宁愿有一个没有使用css的解决方案,但如果那不可能,那么我猜我别无选择。但为什么不存在没有CSS的解决方案?

到目前为止,我还没能在互联网上找到任何帮助。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

如果你想以编程方式处理字体,可以像加载字体时定义字体大小建议的@ItachiUchiha一样:

Font.loadFont(String name, double size)

这种方法的缺点 - 以及以编程方式处理它 - 是对于每种字体大小,您将需要由代码处理的字体实例。

我认为更清洁的解决方案是通过CSS处理字体。从Java 8开始,可以通过CSS定义字体系列:

@font-face {
    font-family: 'Roboto';
    src: url('Roboto-Medium.ttf');
}

.text {
    -fx-font-family: "Roboto";
    -fx-font-size: 18px;
}

有关详细示例,请查看此post