java标准教程:java2d绘图--第4章使用text

java标准教程:java2d绘图--第4章使用text

ID:32585420

大小:63.84 KB

页数:12页

时间:2019-02-13

java标准教程:java2d绘图--第4章使用text_第1页
java标准教程:java2d绘图--第4章使用text_第2页
java标准教程:java2d绘图--第4章使用text_第3页
java标准教程:java2d绘图--第4章使用text_第4页
java标准教程:java2d绘图--第4章使用text_第5页
资源描述:

《java标准教程:java2d绘图--第4章使用text》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Java标准教程:Java2D绘图■•第4章使用Text木节介绍文木API的用法,以及他们的渲染能力。至今为止,您已经有了基本的Java2D文本API,同吋知道如何设置字体和位置,以及绘制文本。本节扩展了这些知识,同时更深入的介绍了Jewel2D文本展示的知识。这些主题在以下几个部分中讨论。•选择字体木节介绍如何使用Font类中的方法决定系统中存在哪些字体,创建一个Font对象,同吋从字体家族中获得信息。•测量字体本节介绍了如何使用FontMetrics类的实例测量文本。•高级文本展示木节解释如何定位和渲染一段有风格的文木,如何展

2、示抗锯齿的文木,以及如何使用文本属性定义文本风格。1・1选择字体Java2D定义了以下五个逻辑字体家族:•Dialog•Dialoginput•Monospaced•Serif•SansSerif这些字体在任何Java平台都可得,同吋可以当做底层平台中有相应属性字体的别名。Serif字体是和TimesNewRomein类似的字体,通常用來打印。SansSerif字体通常在屏幕中使用。这些字体定制成用户的本地化信息。同时,这些字体支持大范围的代码点(unicode字符集)。除了家族之外,字体还有其他属性,最重要的是风格和大小。风格是

3、粗体和斜体。默认的Java2D字体是12ptDialog.这个字体是通常用在普通的72-120DPI现实设备中的字体大小。应用程序可以通过下面的方式创建字体:Fontfont二newFont("Dialog",Font.PLAIN,12);除了逻辑字体之外,Java软件支持访问系统中已经安装的其他字体。所有可找到的字体的可以通过以下方式得到:GraphicsEnvironmenlge=GraphicsEnvironment.getLocalGraphicsEnvironment();String[]fontFamilics=gc.

4、getAvailablcFontFamilyNamcs();FontSelector示例程序展示了如何定位和选择这些字体。您可以使用这个例子查看SansSerif在您的系统中是什么。其他字体都称为物理字体。有吋,应用程序不能依赖于已经安装到系统中的字体,通常因为这些是自定义字体,在系统屮不存在。这种情况下,应用程序必须包含字体。本科展示如何获取TrueType字体这是现代操作系统中最常用的字体将它转换成Font对象您可以使用这些方法之一:Fontjava.awt.Font.createFonl(inlfonlFormat,Inpu

5、tStreamin);Fontjava,awt.Font.createFont(intfontFormat,FilefontFile);要识别一个TrueType字体,fontFormat必须是常量Font.TRUETYPE_F0NToFontfont二Font.createFont(Font.TRUETYPEFONT,newF订e(〃A・ttf〃));在这种情况下从文件中访问直接访问字体必须是很方便的。然而,如果您的代码不能访问文件系统资源,又或者字体被打包在应用程序或applet的JAR文件中,可能需要InputStreamo

6、被返冋的Font实体可以和Font,deriveFont(..)方法-亠起使用,派生一个合适的字体。例如try{/*Returnedfontisofptsize1*/Fontfont二Font.createFont(Font.TRUETYPEFONT,newF订e("A・ttf〃));/*deriveandreturna12ptversion:needtousefloatotherwise*itwouldbeinterpretedasstyle*/returnfont,deriveFont(12f);}catch(lOExcept

7、ionioe);}catch(FontFormatExceptionffe);}使用derivcFontO时很重要的,因为字体是由应用程序创建的,不是底层操作系统的一部分。因为deriveFont作用于最初创建的字体,就没有这个限制。这个问题的解决方案是在图形环境中注册新建的字体,例如:try{GraphicsEnvironmentge=GraphicsEnvironmcnt・gctLocalGraphicsEnvironmcnt();ge.registerFont(Font.createFont(Font.TRUETYPEFON

8、T,newFile("A.ttf,z));}catch(TOExceptionioe);}catch(FontFormatExceptionffe);}当这个步骤完成后,字体可以通过getAvailablcFontFamilyNamcs()得至ll

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。