Java标准教程Java2D绘图第4章使用Text.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java标准教程:Java 2D绘图■?第4章使用Text 木节介绍文木API的用法,以及他们的渲染能力。至今为止,您已经有了基 本的Java 2D文本API,同吋知道如何设置字体和位置,以及绘制文本。 本节扩展了这些知识,同时更深入的介绍了 Jewel 2D文本展示的知识。 这些主题在以下几个部分中讨论。 选择字体 木节介绍如何使用Font类中的方法决定系统中存在哪些字体,创建一个 Font对象,同吋从字体家族中获得信息。 测量字体 本节介绍了如何使用FontMetrics类的实例测量文本。 高级文本展示 木节解释如何定位和渲染一段有风格的文木,如何展示抗锯齿的文木, 以及如何使用文本属性定义文本风格。 1?1选择字体 Java 2D定义了以下五个逻辑字体家族: Dialog Dialoginput Monospaced Serif SansSerif 这些字体在任何Java平台都可得,同吋可以当做底层平台中有相应属性字 体的别名。Serif字体是和Times New Romein类似的字体,通常用來打印。Sans Serif字体通常在屏幕中使用。 这些字体定制成用户的本地化信息。同时,这些字体支持大范围的代码点 (unicode 字符集)。 除了家族之外,字体还有其他属性,最重要的是风格和大小。风格是粗体和 斜体。 默认的Java 2D字体是12pt Dialog.这个字体是通常用在普通的72 - 120 DPI 现实设备中的字体大小。应用程序可以通过下面的方式创建字体: Font font 二 new Font(Dialog, Font. PLAIN, 12); 除了逻辑字体之外,Java软件支持访问系统中已经安装的其他字体。所有可 找到的字体的可以通过以下方式得到: GraphicsEnvironmenl ge = GraphicsEnvironment. getLocalGraphicsEnvironment(); String []fontFamilics = gc. getAvailablcFontFamilyNamcs(); FontSelector示例程序展示了如何定位和选择这些字体。您可以使用这个例 子查看Sans Serif在您的系统中是什么。其他字体都称为物理字体。 有吋,应用程序不能依赖于已经安装到系统中的字体,通常因为这些是自定 义字体,在系统屮不存在。这种情况下,应用程序必须包含字体。本科展示如何 获取TrueType字体这是现代操作系统中最常用的字体将它转换成Font对象 您可以使用这些方法之一: Font java. awt. Fon t. createF onl(inl fonlFormat, In putStream in); Font java, awt. Font. createFont(int fontFormat, File fontFile); 要识别一个 TrueType 字体,fontFormat 必须是常量 Font. TRUETYPE_F0NTo Font font 二 Font. createFont (Font. TRUETYPE FONT, new F订e(〃A?ttf〃)); 在这种情况下从文件中访问直接访问字体必须是很方便的。然而,如果您的 代码不能访问文件系统资源,又或者字体被打包在应用程序或applet的JAR文 件中,可能需要InputStreamo 被返冋的Font实体可以和Font, deriveFont (..)方法-亠起使用,派生一个合 适的字体。例如 try { /* Returned font is of pt size 1 */ Font font 二 Font. createFont(Font. TRUETYPE FONT, new F订e(A? ttf〃)); /* derive and return a 12 pt version : need to use float otherwise * it would be interpreted as style */ return font, deriveFont(12f); } catch (lOException ioe); } catch (FontFormatException ffe); } 使用derivcFontO时很重要的,因为字体是由应用程序创建的,不是底层操 作系统的一部分。因为deriveFont作用于最初创建的字体,就没有这个限制。 这个问题的解决方案是在图形环境中注册新建的字体,例如: try { GraphicsEnvironment ge = GraphicsEnvironmcnt? gctLocalGraphicsEnvironmcnt(); ge. re

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档