Java小技巧:充分利用AWT图象类和FileNameMap

ZDNet软件频道 时间:2002-11-21 作者:BUILDER.COM |  我要评论()
本文关键词:
本文介绍两个Java技巧,第一个技巧是充分地利用Java Abstract Windows Toolkit (AWT),第二个技巧提供了处理多目的互联网邮件扩展(MIME)文件的方法,并说明隐藏映射如何把这一过程变得更加容易。

如果你经常用Java来处理图象,这两个小技巧会给你带来很大的便利。第一个技巧是充分地利用Java Abstract Windows Toolkit (AWT),第二个技巧提供了处理多目的互联网邮件扩展(MIME)文件的方法,并说明隐藏映射如何把这一过程变得更加容易。

利用Java的AWT把图表转化成图象


AWT提供了很多处理图表对象的方法,但是它如何把一个图表对象转化成图象对象?

AWT图象类提供了getGraphics 方法,BufferedImage类提供了createGraphics 方法。最常用的是BufferedImage,因为它返回的是一个功能强大的2D图形类,下面是代码的小片断:

BufferedImage bffImg = new BufferedImage( );
Graphics gfx = bffImg.createGraphics( );
gfx.drawRect(10, 10, 50, 20); // draw a rectangl

BufferedImage允许开发人员通过使用Graphics API来生成自己的图象。新发布的JDK 1.4提供一个API函数来处理这一过程。如果使用1.3或更旧的版本这一过程同样有效,这也就是Java高级图象API函数的优越性。

你可以使用这一技巧来生成任一图表的快照,并保存为一个图象格式。请注意这一图表必须是可改变的,这样你才可以把它添加到一个看不见的屏幕容器。nanoTITAN Inc.中的公开代码库内的ComponentUtility类提供了这样的快照方法。

处理MIME文件类型

当提及servlet 或JavaServer Page (JSP)时,你一定会知道MIME类型。在处理MIME类型时,你一般都是通过繁琐的代码来实现,有没有更好的办法?

虽然没有全部支持你所需要类型,Java提供了文件名到MIME类型的自动映射。映射隐藏在一个名为FileNameMap的界面,你可以在Java.net包中找到这一界面。可以通过URLConnection类来获得映射,这一个类也可以在Java.net包中找到。一旦映射成功,就可以使用getContentTypeFor方法,通过传递一个文件名就可以决定MIME类型。

Listing A 提供了一些简单范例的代码,并返回以下的值:

application/octet-stream
image/gif
image/png
image/jpeg
null
application/xml
text/html
null
image/tiff

使用Java来处理图表是一件不容易的事件,但是AWT和FileNameMap能够把这些一过程变得很容易。



责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134