gpt4 book ai didi

java - Jar 文件中的内容

转载 作者:行者123 更新时间:2023-12-04 08:00:33 24 4
gpt4 key购买 nike

是否可以使用 .jar 文件中的 .ttf 文件创建自定义字体?
我创建了一个具有以下结构的 jar 文件

Game.jar
├──Snake
│ ├── lib
│ | └── game_over.ttf
| ├── src
│ | ├── GameFrame.class
│ | ├── GamePanel.class
│ | └── SnakeGame.class
我试图通过这样做来获得自定义字体
Font GAMEOVER_FONT;
InputStream is = this.getClass().getClassLoader().getResourceAsStream("Snake/lib/game_over.ttf");

GAMEOVER_FONT = Font.createFont(Font.TRUETYPE_FONT, is).deriveFont(200f);
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(Font.createFont(Font.TRUETYPE_FONT, is));
g.setFont(GAMEOVER_FONT);
我究竟做错了什么?甚至有可能实现我正在尝试的目标吗?

最佳答案

请尽管我认为在您的用例中结果应该相同,但请尝试:

this.getClass().getResourceAsStream()
代替:
this.getClass().getClassLoader().getResourceAsStream()
注意 getClassLoader() 的区别.
也许类加载器层次结构存在一些差异,它可以为您提供不同的输出。
此外,您可以尝试将字体放在您的类、Java 输出目录中,并从那里读取它,以检查字体是否存在实际问题。

关于java - Jar 文件中的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66499644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com