Java字体问题

时间:2011-09-18 11:23:07

标签: java swing fonts jcomponent

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

2 个答案:

答案 0 :(得分: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抛出的异常。

答案 1 :(得分:3)

没有任何自动方法。你必须手动安装字体,但是你可以使用

获得可用的字体
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
String[] names = ge.getAvailableFontFamilyNames();