2

假设我有一个 Swing JComponent,并为该 JComponent 的文本设置了一个字体。我构建项目并创建项目的 .jar 文件。现在,如果我从另一台没有安装字体的计算机上运行这个 jar 文件,会发生什么?jar 会自动安装字体还是我需要进行某种检查才能做到这一点?谢谢你。

4

2 回答 2

3

如果您需要使用该特定字体,则必须确保在运行 jar 文件之前将其安装在机器上,或者自行加载。没有什么会自动为您安装字体。您可以使用以下代码检索可用字体列表:

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
String [] fonts = ge.getAvailableFontFamilyNames();

或者,您可以使用自己加载和注册字体

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
Font f = Font.createFont(Font.TRUETYPE_FONT, new File(pathToYourTTFFile));
ge.registerFont(f);

您应该检查返回代码registerFont并捕获/处理createFont.

于 2011-09-18T11:33:24.503 回答
3

不,没有任何自动方法。您必须手动安装字体,但是您可以使用获得可用的字体,

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
String[] names = ge.getAvailableFontFamilyNames();
于 2011-09-18T11:34:23.713 回答