我正在使用 java.awt.Font ,如何发现定义的字体是否安装在系统上?
具体来说,我有
Font font = new Font("FooBar", 0, 14);
我想发现“字体”是否是系统上的有效字体,如果它不可用,则默认为更通用的字体。
尝试像这样循环检查你的字体:
public class SO2 {
public static void main(String args[]) {
GraphicsEnvironment g= null;
g=GraphicsEnvironment.getLocalGraphicsEnvironment();
String []fonts=g.getAvailableFontFamilyNames();
for (int i = 0; i < fonts.length; i++) {
System.out.println(fonts[i]);
if(fonts[i].equals("YOUR FONT")){
System.out.println("Found!");
}
}
}}
它应该输出“找到!” 如果它找到您的字体。
祝你好运!
检查它:
fonts = java.awt.GraphicsEnvironment.getAvailableFontFamilyNames();
看看结果是什么,如果它在列表中。
另见:
并随时阅读:
http://docs.oracle.com/javase/7/docs/api/java/awt/GraphicsEnvironment.html
java的诀窍是总是参考文档。
一开始很难读,但一旦你读下来,它是不可或缺的。
使用java.awt.GraphicsEnvironment.getAvailableFontFamilyNames()
或 java.awt.GraphicsEnvironment.getAllFonts()
获得java.awt.Font objects