java - 如何从 jar 加载字体?

标签 java fonts jar jframe embedded-resource

我正在为我的 Java 应用程序窗口使用 java.awt.Frame,该窗口正在从 main 内的循环中刷新。

该应用程序的行为与从 Eclipse 运行时的行为完全一样,但是当我将其打包到 jar 中时,它会绘制第一个屏幕,但此后不会再绘制任何其他内容。

当我尝试将窗口切换到 JFrame 时,它​​可以工作,但只有一部分图像被绘制和更新。

不知道问题出在哪里?如果它在 eclipse 中运行良好,那么它在 jar 文件中运行不应该完全相同吗?

编辑:我找到了问题所在。这是由于未从 jar 文件加载字体造成的。有没有办法让这些正确加载?这是我给他们的代码:

Font font = Font.createFont(Font.TRUETYPE_FONT, 
  obj.getClass().getClassLoader().getResource(fontName));

最佳答案

获取它的 URL,然后查看 this answer用于创建它并将其注册到可用字体中。

关于java - 如何从 jar 加载字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13691409/

相关文章:

css - Helvetica Neue 的垂直对齐问题

html - 当放置在 <img> 数据 URI 或 <canvas> 中时,SVG 文件中缺少字体

java - 您可以使用文件访问 jar 内的项目吗

java - 沿 y 轴的 OpenGL 透视图扭曲场景比预期的要多得多

html - 为什么chrome渲染字体这么亮?

java - 错误:Execution failed for task ':app:transformClassesWithMultidexlistForDebug

Eclipse:在导出为可运行 jar 时包含源代码

groovy - 让 Groovy 脚本像葡萄一样从文件系统中抓取一个 jar

java - RMI:客户端向服务器发送消息

java - 使用 split 从 Arraylist 中删除正则表达式