【发布时间】:2010-11-17 02:01:42
【问题描述】:
我有一些 Swing 代码(在 1.6 中为 1.6 编写)专门将文本区域中的字体设置为 Courier,但在某些 Windows 系统上,这显示为 Arial(系统默认值?)。这是否意味着系统中缺少字体?当 Java 找不到它正在寻找的字体时,它的行为是什么?它抱怨吗?它会在某处记录吗?它是否立即诉诸使用系统默认值? JVM 的 1.4/1.5/1.6 版本之间的行为是否不同?
有没有其他人遇到过这种情况?我很惊讶有一些不同于我硬编码到应用程序中的东西出现在 UI 中 - 并且仅在某些系统上。核心问题是我需要针对这种特殊情况使用等宽字体样式,而 Arial 不是等宽字体。如果找不到某种字体,是否有某种方法可以指定后备?比如:
如果字体可用,请使用“Courier” 否则使用“等宽”
???
【问题讨论】: