advertisement
javaboutique
Search Tips
Articles  |   Tutorials  |   Reviews  |   Tools  |   by Category  |   by Date  |   by Name  |   Submit  |   Source  |   Forums  |  
javaboutique
Browse DevX


Partners & Affiliates











advertisement


Reviews : Java Books :
Beginning Java 2- JDK 1.3 Version : Images and Animation

Buy this book
Title: Beginning Java 2- JDK 1.3 Version
ISBN: 1861003668
US Price: $ 49.99
Canadian Price:
C$ 74.95
UK Price: £ 35.99
Publication Date: March 2000
Pages: 1230
© Wrox Press Limited, US and UK.

Beginning Java 2- JDK 1.3 Version
Images and Animation

Obtaining an Image

We have already seen one way to obtain an image from a file using the ImageIcon class back in Chapter 13. The ImageIcon class doesn't really care about the size of the image, that is, it is not constrained to be a typical icon size, so an image represented by an object of this class can be anything. We only considered one ImageIcon constructor when we read icons for our toolbars buttons from a file. That constructor happened to accept a String argument that specified the file name. There are a number of other ImageIcon constructors, so here's the complete set:

Constructor Description ImageIcon() Creates an uninitialized object that you must initialize with an Image object before use. You would do this by passing a reference to an Image object to the setImage() method for the ImageIcon object.
ImageIcon(String filename) Creates an object from the file specified by filename, which represents either an absolute path for the file, or a path relative to the current directory.
ImageIcon(String filename, String description) As the constructor above, but stores a description of the image specified by the second argument, and which can be retrieved bycalling the getDescription() method for the ImageIcon object.
ImageIcon(URL location) Creates an object specified by the file that is located at the source specified by the argument. The URL class represents a uniform resource locator specification that identifies a source on the World Wide Web. We will come back to this class a little later in the chapter.
ImageIcon(URL location, String description) Same as the previous constructor but adds a description of the image that can be retrieved by calling the getDescription() method for the ImageIcon object.
ImageIcon(Image image) Creates an ImageIcon object from the Image object supplied as the argument. We will discuss the Image class later in this section.
ImageIcon(Image image, String description) Creates an ImageIcon object from the Image object supplied as the first argument. The second argument provides a description of the image.
ImageIcon(byte[] imageData) Creates an object from the byte array that must contain data containing an image in a supported format – which can be GIF, PNG, or JPEG at the present time. The data can be read from a file or created programmatically.
ImageIcon(byte[] imageData, String description) As the previous constructor but also stores a description of the image.

An ImageIcon object contains a reference to an object of type Image as a member. The Image class is an abstract class that is a superclass of all classes that represent images in Java, so a reference of type Image can refer to any instance of a graphical image being used. You can obtain a reference to the Image member of an ImageIcon object by calling its getImage() method. An object of type Image can be created from data in GIF (Graphics Interchange Format), PNG (Portable Network Graphics), or JPEG (Joint Photographic Experts Group) format. So, whether the image data is passed to the constructor as an array – as is the case for two of the ImageIcon constructors, or is obtained from an external source such as a file or a URL object, it must be a GIF, PNG, or JPEG representation of an image.

While the GIF format for images is very common, it has some limitations. A GIF image can contain a maximum of 256 different colors, albeit selected from a palette of 16 million colors. The JPEG image format has been designed to store photographs, and is a much more sophisticated way of representing a color image. The sophistication comes at a price though. The complexity of the format and the data compression technique used means that it takes much longer to process than a GIF image, but it does make it feasible to transmit good quality photographic images over the net. The JPEG compression technique is also 'lossy', so the quality is not as good as the original image. The PNG image format is also much more flexible than GIF images and it stores images in a lossless form. It is designed to be a portable image storage form for computer-originated images. You can represent grayscale, indexed-color and true color images in PNG format, and you can also include an alpha channel that determines the transparency of the image when it is combined with others.

The constructors that create the ImageIcon object by referencing a String object specifying a file name, or by referencing a URL object defining an Internet source, always construct the internal Image object before returning. When you specify a URL as the source of the image data, there can be a considerable delay before the ImageIcon object creation is completed, depending on how long it takes to retrieve the image data from the source. Being able to create an ImageIcon object from a URL object is particularly relevant to applets. You can retrieve any images, or indeed any other external data that you use in your applet from an Internet source. Since URLs are so important, let's take a brief detour into how URLs and the URL class work.

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.

 Microsoft Visual Studio 2010 Showcase
 Avaya Developer Showcase
 MSDN Spotlight
 PHP for Windows Showcase
XML error: undefined entity at line 39
advertisement
Receive Articles via our XML/RSS feed
Receive Articles via our XML/RSS feed

JavaBytes
Internet Cyclone
This powerful, easy-to-use, internet optimizer is for Windows 95, 98, ME, NT, 2000 and XP. It's designed to automatically optimize your Windows settings, boosting your Internet connection up to 200%.

Windows 7: From Beta to Final Code in One Year
Google Shows Off Chrome OS, Releases Source
Microsoft Shows Off Silverlight 4, IE9 Plans
Metasploit Expands Vulnerability Test Framework
HyperCard Reborn?
Fedora 12 Takes Aim at Linux Networking
Top Supercomputer Nearly Doubles in Speed
Fedora 12 Linux Tackles Virtualization
Apple Gives iPhone Developers App Status Tracker
Novell Sets OpenSUSE 11.2 Free

Creating Custom Export Filters for StarOffice with XSLT
WPF Wonders: Using DataTemplates
Crystal Reports Family Offers Options for Developers
Avaya Aura Session Manager video
Avaya Aura Overview video
Exploring HTML 5's Audio/Video Multimedia Support
Overriding Virtual Functions? Use C++0x Attributes to Avoid Bugs.
Understanding the Cloud Computing Security Vulnerabilities
Cisco and IBM Target a Greener World
Upgrade to Visual Studio 2010 with the Ultimate Offer

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs