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