【发布时间】:2011-05-14 13:16:32
【问题描述】:
似乎有逻辑和物理字体。逻辑字体是: Serif、SansSerif、Monospaced、Dialog 和 DialogInput。
这些字体是动态的,它们各自的物理字体(它们在程序执行期间所代表的字体)是在程序加载时决定的。
我需要访问这些逻辑字体的物理字体。
我的第一个想法是尝试加载这些文件: http://download.oracle.com/javase/6/docs/technotes/guides/intl/fontconfig.html#loading
通过使用这样的东西: http://www.rgagnon.com/javadetails/java-0434.html
public static Properties load(String propsName) throws Exception {
Properties props = new Properties();
URL url = ClassLoader.getSystemResource(propsName);
props.load(url.openStream());
return props;
}
然后从这些属性文件中获取物理字体。
但是,当我尝试使用第一个文件中的名称加载属性时,我只是得到 NullPointerExceptions(没有找到它们,但我已经检查并实际上在我的系统上找到了它们)。我不知道我为什么会得到这个,但不管怎样,我不禁想到必须有更简单的方法来做到这一点?
【问题讨论】:
标签: java swing fonts load classloader