Javafx字体派生粗体

2024-03-31

我想为我的 javafx 应用程序动态更改(加载的)文本字体,所以我做了以下代码:

Font font = Font.loadFont(Fonts.class.getClassLoader().getResource("path/font.woff").toExternalForm(), 25);
Font bold = Font.font(font.getFamily(), FontWeight.BOLD, font.getSize());
Font italic = Font.font(font.getFamily(), FontPosture.ITALIC, font.getSize());
Font boldItalic = Font.font(font.getFamily(), FontWeight.BOLD, FontPosture.ITALIC, font.getSize());

但是当我尝试将文本字体更改为粗体或斜体时,没有任何变化,并且我似乎没有找到像 java.awt.Font#deriveFont 中的方法那样可以从另一种字体派生斜体或粗体的方法。
应用字体的代码:

public void applyFont(javafx.scene.text.Text text) {
    text.setFont(font);
}

编辑:更多日志:
我放置了一些日志,说明他正在获取什么字体并打印 Font#toString() 结果:

getFont(bold=false, italic=false) -> Font[name=<Name> Regular, family=<Name>, style=Regular, size=25.0]
getFont(bold=true, italic=false) -> Font[name=<Name> Regular, family=<Name>, style=Regular, size=25.0]
getFont(bold=false, italic=true) -> Font[name=<Name> Regular, family=<Name>, style=Regular, size=25.0]
getFont(bold=true, italic=true) -> Font[name=<Name> Regular, family=<Name>, style=Regular, size=25.0]

但是如果我将字体加载中的第一行代码替换为

font = Font.font(null, 25);//get the system's default font

它有效,我得到这个输出:

getFont(bold=false, italic=false) -> Font[name=System Regular, family=System, style=Regular, size=25.0]
getFont(bold=true, italic=false) -> Font[name=System Bold, family=System, style=Bold, size=25.0]
getFont(bold=false, italic=true) -> Font[name=System Italic, family=System, style=Italic, size=25.0]
getFont(bold=true, italic=true) -> Font[name=System Bold Italic, family=System, style=Bold Italic, size=25.0]

您需要加载另一个字体文件,它将提供适当的姿势或重量。

对于每种流行的字体(包括系统,当您调用时使用的字体)Font.font(null, 25))系统中有多种字体文件:一种为常规字体,一种为斜体,一种为粗体等。

例如,对于 Times New Roman,我的字体文件夹中有四个文件:

  • Times New Roman 粗斜体.ttf
  • Times New Roman 粗体.ttf
  • Times New Roman 斜体.ttf
  • 泰晤士新罗马体.ttf
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javafx字体派生粗体 的相关文章

随机推荐

  • Google Spanner 中的 TrueTime API 是什么?

    我多次尝试阅读该文档 但未能理解它 有人可以用通俗的语言解释一下吗 TrueTime 是 Google 提供的一个 API 可直接暴露时钟不确定性 相比标准日期时间库 https docs python org 2 library date
  • 如何取消使用锚标记放置的复选框的分组

    我们在文档中使用 AnchorTags 将签名元素放入 PDF 文档中 到目前为止 诸如 SignHere 之类的签名元素已按预期工作 每个签名只需单击一下 即可正确放入文档中 我们现在尝试使用 AnchorTags 将复选框添加到这些文档
  • 使用 GORM 在 MySQL 中获取 NULL 日期时间值

    我想获取最后一个 Visit details 行 其 out time 为NULL使用戈尔姆 NIL本身是一种类型 其中 VisitDetail OutTime 是mysql NullTime Code var visitDetail mo
  • 使用 OR 条件左连接两个 R 数据框

    Problem 我有两个数据框 我想使用三个非数字变量的条件语句来连接它们 这是我想要实现的伪代码版本 Join DF1 and DF2 on DF1 A DF2 A DF1 A DF2 B Dataset 这是创建两个数据框的一些代码 v
  • 使用 PHP 更新 AD 密码的问题

    您好 我编写了以下脚本来更新特定用户的密码
  • Apache Flink - 作业内部无法识别自定义 java 选项

    我已将以下行添加到 flink conf yaml 中 env java opts Ddy props path PATH TO PROPS FILE 启动 jobmanager jobmanager sh start cluster 时
  • 编译器优化导致程序崩溃

    我正在用 C Qt 编写一个程序 其中包含图形文件解析器 我用g 编译项目 在开发过程中 我不断比较有关优化和调试信息的不同编译器标志之间的低级解析器层的性能 以及 Qt 的调试标志 打开 关闭 qDebug 和 Q ASSERT 现在我面
  • 解析 NSURL mailto

    如何解析 mailto 请求 mailto email protected cdn cgi l email protection email protected cdn cgi l email protection subject This
  • 为什么 Python 将制表符视为 8 个空格?

    使用 4 个空格的制表符宽度已成为编程中的主要选择 那么为什么 Python 不将制表符视为 4 个空格而不是 8 个空格呢 这个设计决定有 技术 历史 其他 原因吗 感觉这可以让开发人员免于因缩进不一致而苦苦挣扎 由于Linux控制台中默
  • 使用请求方法登录Cypress

    我注册并登录用户 但是 当在测试中导航到身份验证后面的页面时 Cypress 失败并将我带回登录页面 从它的外观来看 before函数已成功执行 由 API 日志验证 这是我的代码 describe Dashboard page gt be
  • 切换到相同数据类型的对象后,DataTemplate 不刷新

    我有以下ControlTemplate
  • 如何在 Java 或 Python 中使用文件系统缓存?

    A 最近关于 Elasticsearch 的博客文章 http www elasticsearch org blog elasticsearch 1 4 0 beta released 网站正在谈论他们新的 1 4 beta 版本的功能 我
  • 创建不兼容的数字子类型

    在 Ada 中 可以创建不兼容的等效数字类型 type Integer 1 is range 1 10 type Integer 2 is range 1 10 A Integer 1 8 B Integer 2 A illegal 这可以
  • 在 if 语句中使用 or (Python) [重复]

    这个问题在这里已经有答案了 我只是写一个简单的 if 语句 仅当用户键入 Good 时 第二行才计算为 true 如果 太棒了 输入后 它将执行 else 语句 我可以不使用或喜欢这个吗 我需要逻辑还是 weather input How
  • 我在 Visual Studio 中的项目是只读的。我做了什么?

    我一定是做错了什么 我在 Visual Studio 2008 中有一个 C 项目 突然 我看到我的类上有一个锁 当我将类名称悬停在顶部选项卡上时 我看到类名称为 C Myprojects Oder cs 只读 你以前发生过类似的奇怪事情吗
  • 未根据 OPTIONS 请求发送 Cookie

    对于我正在开发的 Angular 1 应用程序 使用了 cookie 身份验证 问题是 制作时OPTIONS调用 cookie 不会发送 服务器会尝试重定向用户以再次登录 只是想知道 这是谁的 错 服务器 Azure API 应用程序 还是
  • 错误:“_UserObject”对象没有属性“预测”

    我正在构建一个针对数据序列进行机器学习的 ANN 模型 当我调用模型来验证测试数据时 出现错误 model Sequential model add Dense 8 activation tanh input dim 10 model ad
  • PowerShell 脚本问题运算符

    我尝试在部署更新的驱动程序之前使用 PowerShell 检测 Intel NIC 驱动程序 我对脚本进行了一些更改以进行故障排除 以确保捕获正确的驱动程序版本 并最终验证操作符的正确使用 我可能不是 Change DeployVersio
  • 如何迭代天数

    我有一个循环 days this 的代码来制作叶子 我希望列签到和签出出勤将自动填充 从开始日期开始 到结束日期结束 exp I input startdate 2012 11 08 01 30 00 enddate 2012 11 10
  • Javafx字体派生粗体

    我想为我的 javafx 应用程序动态更改 加载的 文本字体 所以我做了以下代码 Font font Font loadFont Fonts class getClassLoader getResource path font woff t