<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6105268750002566624</id><updated>2012-04-17T04:48:33.906-07:00</updated><category term='java history'/><title type='text'>Java Tutorial &amp; Books Download</title><subtitle type='html'>Collections of java Tutorials &amp; books</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default?start-index=26&amp;max-results=25'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>142</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-1025242670438227560</id><published>2008-05-12T03:38:00.000-07:00</published><updated>2008-05-12T03:39:32.295-07:00</updated><title type='text'>Component</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class Component&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.Component&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;p&gt; A &lt;em&gt;component&lt;/em&gt; is an object having a graphical representation  that can be displayed on the screen and that can interact with the  user. Examples of components are the buttons, checkboxes, and scrollbars  of a typical graphical user interface. &lt;/p&gt;  The &lt;code&gt;Component&lt;/code&gt; class is the abstract superclass of  the nonmenu-related Abstract Window Toolkit components. Class  &lt;code&gt;Component&lt;/code&gt; can also be extended directly to create a  lightweight component. A lightweight component is a component that is  not associated with a native opaque window.&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-1025242670438227560?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/1025242670438227560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=1025242670438227560' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/1025242670438227560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/1025242670438227560'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/component.html' title='Component'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-4940726698994580439</id><published>2008-05-12T03:37:00.000-07:00</published><updated>2008-05-12T03:38:31.487-07:00</updated><title type='text'>SystemColor</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class SystemColor&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;java.awt.Color&lt;br /&gt;     &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.SystemColor&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;A class to encapsulate symbolic colors representing the color of&lt;br /&gt;native GUI objects on a system.  For systems which support the dynamic&lt;br /&gt;update of the system colors (when the user changes the colors)&lt;br /&gt;the actual RGB values of these symbolic colors will also change&lt;br /&gt;dynamically.  In order to compare the "current" RGB value of a&lt;br /&gt;&lt;code&gt;SystemColor&lt;/code&gt; object with a non-symbolic Color object,&lt;br /&gt;&lt;code&gt;getRGB&lt;/code&gt; should be used rather than &lt;code&gt;equals&lt;/code&gt;. &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-4940726698994580439?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/4940726698994580439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=4940726698994580439' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/4940726698994580439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/4940726698994580439'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/systemcolor.html' title='SystemColor'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-5710261866361017009</id><published>2008-05-12T03:36:00.002-07:00</published><updated>2008-05-12T03:37:45.178-07:00</updated><title type='text'>Class Color</title><content type='html'>&lt;h2&gt; &lt;span style=""&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class Color&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt;&lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.Color&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;The &lt;code&gt;Color&lt;/code&gt; class is used to encapsulate colors in the default&lt;br /&gt;sRGB color space or colors in arbitrary color spaces identified by a&lt;br /&gt;&lt;code&gt;ColorSpace&lt;/code&gt;.  Every color has an implicit alpha value of 1.0 or&lt;br /&gt;an explicit one provided in the constructor.  The alpha value&lt;br /&gt;defines the transparency of a color and can be represented by&lt;br /&gt;a float value in the range 0.0 - 1.0 or 0 - 255.&lt;br /&gt;An alpha value of 1.0 or 255 means that the color is completely&lt;br /&gt;opaque and an alpha value of 0 or 0.0 means that the color is&lt;br /&gt;completely transparent.&lt;br /&gt;When constructing a &lt;code&gt;Color&lt;/code&gt; with an explicit alpha or&lt;br /&gt;getting the color/alpha components of a &lt;code&gt;Color&lt;/code&gt;, the color&lt;br /&gt;components are never premultiplied by the alpha component. &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-5710261866361017009?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/5710261866361017009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=5710261866361017009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/5710261866361017009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/5710261866361017009'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/class-color.html' title='Class Color'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-6045186715055382448</id><published>2008-05-12T03:36:00.001-07:00</published><updated>2008-05-12T03:36:47.583-07:00</updated><title type='text'>CheckboxGroup</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class CheckboxGroup&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.CheckboxGroup&lt;br /&gt;&lt;br /&gt;&lt;/b&gt; &lt;/pre&gt;&lt;p&gt; The &lt;code&gt;CheckboxGroup&lt;/code&gt; class is used to group together   a set of &lt;code&gt;Checkbox&lt;/code&gt; buttons.   &lt;/p&gt;&lt;p&gt;  Exactly one check box button in a &lt;code&gt;CheckboxGroup&lt;/code&gt; can   be in the "on" state at any given time. Pushing any   button sets its state to "on" and forces any other button that   is in the "on" state into the "off" state.   &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-6045186715055382448?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/6045186715055382448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=6045186715055382448' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/6045186715055382448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/6045186715055382448'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/checkboxgroup.html' title='CheckboxGroup'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-7417056447331869051</id><published>2008-05-12T03:35:00.001-07:00</published><updated>2008-05-12T03:35:51.682-07:00</updated><title type='text'>CardLayout</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class CardLayout&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.CardLayout&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;p&gt; A &lt;code&gt;CardLayout&lt;/code&gt; object is a layout manager for a  container. It treats each component in the container as a card.  Only one card is visible at a time, and the container acts as  a stack of cards. The first component added to a   &lt;code&gt;CardLayout&lt;/code&gt; object is the visible component when the   container is first displayed.  &lt;/p&gt;&lt;p&gt;  The ordering of cards is determined by the container's own internal  ordering of its component objects. &lt;code&gt;CardLayout&lt;/code&gt;  defines a set of methods that allow an application to flip  through these cards sequentially, or to show a specified card.  The &lt;code&gt;addLayoutComponent(java.awt.Component, java.lang.Object)&lt;/code&gt;  method can be used to associate a string identifier with a given card  for fast random access. &lt;/p&gt;&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-7417056447331869051?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/7417056447331869051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=7417056447331869051' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/7417056447331869051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/7417056447331869051'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/cardlayout.html' title='CardLayout'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-6876476236637237729</id><published>2008-05-05T18:35:00.000-07:00</published><updated>2008-05-05T18:36:15.327-07:00</updated><title type='text'>Component.FlipBufferStrategy</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class Component.FlipBufferStrategy&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;java.awt.image.BufferStrategy&lt;br /&gt;     &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.Component.FlipBufferStrategy&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;&lt;pre&gt;protected class &lt;b&gt;Component.FlipBufferStrategy&lt;/b&gt;&lt;dt&gt;extends BufferStrategy&lt;/dt&gt;&lt;/pre&gt;&lt;/dt&gt;&lt;/dl&gt;   &lt;p&gt; Inner class for flipping buffers on a component.  That component must  be a &lt;code&gt;Canvas&lt;/code&gt; or &lt;code&gt;Window&lt;/code&gt;. &lt;/p&gt;&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-6876476236637237729?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/6876476236637237729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=6876476236637237729' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/6876476236637237729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/6876476236637237729'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/componentflipbufferstrategy.html' title='Component.FlipBufferStrategy'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-8027105949901060397</id><published>2008-05-05T18:34:00.000-07:00</published><updated>2008-05-05T18:35:26.610-07:00</updated><title type='text'>Component.BltBufferStrategy</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class Component.BltBufferStrategy&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;java.awt.image.BufferStrategy&lt;br /&gt;     &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.Component.BltBufferStrategy&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;&lt;pre&gt;protected class &lt;b&gt;Component.BltBufferStrategy&lt;/b&gt;&lt;dt&gt;extends BufferStrategy&lt;/dt&gt;&lt;/pre&gt;&lt;/dt&gt;&lt;/dl&gt;   &lt;p&gt; Inner class for blitting offscreen surfaces to a component. &lt;/p&gt;&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-8027105949901060397?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/8027105949901060397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=8027105949901060397' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/8027105949901060397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/8027105949901060397'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/componentbltbufferstrategy.html' title='Component.BltBufferStrategy'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-8700746748817390949</id><published>2008-05-05T18:33:00.000-07:00</published><updated>2008-05-05T18:34:37.204-07:00</updated><title type='text'>BufferStrategy</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt.image&lt;/span&gt;&lt;br /&gt;Class BufferStrategy&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.image.BufferStrategy&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;&lt;pre&gt;public abstract class &lt;b&gt;BufferStrategy&lt;/b&gt;&lt;dt&gt;extends Object&lt;/dt&gt;&lt;/pre&gt;&lt;/dt&gt;&lt;/dl&gt;   &lt;p&gt; The &lt;code&gt;BufferStrategy&lt;/code&gt; class represents the mechanism with which  to organize complex memory on a particular &lt;code&gt;Canvas&lt;/code&gt; or  &lt;code&gt;Window&lt;/code&gt;.  Hardware and software limitations determine whether and  how a particular buffer strategy can be implemented.  These limitations  are detectible through the capabilities of the  &lt;code&gt;GraphicsConfiguration&lt;/code&gt; used when creating the  &lt;code&gt;Canvas&lt;/code&gt; or &lt;code&gt;Window&lt;/code&gt;.  &lt;/p&gt;&lt;p&gt;  It is worth noting that the terms &lt;i&gt;buffer&lt;/i&gt; and &lt;i&gt;surface&lt;/i&gt; are meant  to be synonymous: an area of contiguous memory, either in video device  memory or in system memory.  &lt;/p&gt;&lt;p&gt;  There are several types of complex buffer strategies;  sequential ring buffering, blit buffering, and stereo buffering are  common types.  Sequential ring buffering (i.e., double or triple  buffering) is the most common; an application draws to a single &lt;i&gt;back  buffer&lt;/i&gt; and then moves the contents to the front (display) in a single  step, either by copying the data or moving the video pointer.  Moving the video pointer exchanges the buffers so that the first buffer  drawn becomes the &lt;i&gt;front buffer&lt;/i&gt;, or what is currently displayed on the  device; this is called &lt;i&gt;page flipping&lt;/i&gt;.  &lt;/p&gt;&lt;p&gt;  Alternatively, the contents of the back buffer can be copied, or  &lt;i&gt;blitted&lt;/i&gt; forward in a chain instead of moving the video pointer.  &lt;/p&gt;&lt;p&gt;  &lt;/p&gt; Double buffering:                      ***********         ***********                     *         * ------&gt; *         *  [To display] &lt;---- * Front B *   Show  * Back B. * &lt;---- Rendering                     *         * &lt;------ *         *                     ***********         ***********   Triple buffering:   [To      ***********         ***********        ***********  display] *         * --------+---------+------&gt; *         *     &lt;---- * Front B *   Show  * Mid. B. *        * Back B. * &lt;---- Rendering           *         * &lt;------ *         * &lt;----- *         *           ***********         ***********        ***********     &lt;p&gt;  Stereo buffering is for hardware that supports rendering separate images for  a left and right eye.  It is similar to sequential ring buffering, but  there are two buffer chains, one for each eye.  Both buffer chains flip  simultaneously:   &lt;/p&gt; Stereo buffering:                       ***********         ***********                      *         * ------&gt; *         *  [To left eye] &lt;---- * Front B *         * Back B. * &lt;---- Rendering                      *         * &lt;------ *         *                      ***********         ***********                                   Show                      ***********         ***********                      *         * ------&gt; *         *  [To right eye] &lt;--- * Front B *         * Back B. * &lt;---- Rendering                      *         * &lt;------ *         *                      ***********         ***********  &lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-8700746748817390949?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/8700746748817390949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=8700746748817390949' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/8700746748817390949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/8700746748817390949'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/bufferstrategy.html' title='BufferStrategy'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-7091462261577425262</id><published>2008-05-05T18:32:00.000-07:00</published><updated>2008-05-05T18:33:23.730-07:00</updated><title type='text'>BufferCapabilities.FlipContents</title><content type='html'>&lt;h2&gt;&lt;span style="font-size:-1;"&gt;java.awt&lt;/span&gt;&lt;br /&gt;Class BufferCapabilities.FlipContents&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.BufferCapabilities.FlipContents&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;&lt;pre&gt;public static final class &lt;b&gt;BufferCapabilities.FlipContents&lt;/b&gt;&lt;dt&gt;extends Object&lt;/dt&gt;&lt;/pre&gt;&lt;/dt&gt;&lt;/dl&gt;   &lt;p&gt; A type-safe enumeration of the possible back buffer contents after  page-flipping &lt;/p&gt;&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-7091462261577425262?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/7091462261577425262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=7091462261577425262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/7091462261577425262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/7091462261577425262'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/buffercapabilitiesflipcontents.html' title='BufferCapabilities.FlipContents'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-9220423769078303865</id><published>2008-05-05T18:31:00.000-07:00</published><updated>2008-05-05T18:32:21.061-07:00</updated><title type='text'>BufferCapabilities</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class BufferCapabilities&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.BufferCapabilities&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;&lt;pre&gt;public class &lt;b&gt;BufferCapabilities&lt;/b&gt;&lt;dt&gt;extends Object&lt;/dt&gt;&lt;dt&gt;implements Cloneable&lt;/dt&gt;&lt;/pre&gt;&lt;/dt&gt;&lt;/dl&gt;   &lt;p&gt; Capabilities and properties of buffers. &lt;/p&gt;&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-9220423769078303865?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/9220423769078303865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=9220423769078303865' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/9220423769078303865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/9220423769078303865'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/buffercapabilities.html' title='BufferCapabilities'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-3738510056367794769</id><published>2008-05-05T18:30:00.000-07:00</published><updated>2008-05-05T18:31:23.637-07:00</updated><title type='text'>BorderLayout</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class BorderLayout&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.BorderLayout&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;&lt;pre&gt;public class &lt;b&gt;BorderLayout&lt;/b&gt;&lt;dt&gt;extends Object&lt;/dt&gt;&lt;dt&gt;implements LayoutManager2, Serializable&lt;/dt&gt;&lt;/pre&gt;&lt;/dt&gt;&lt;/dl&gt;   &lt;p&gt; A border layout lays out a container, arranging and resizing  its components to fit in five regions:  north, south, east, west, and center.  Each region may contain no more than one component, and   is identified by a corresponding constant:  &lt;code&gt;NORTH&lt;/code&gt;, &lt;code&gt;SOUTH&lt;/code&gt;, &lt;code&gt;EAST&lt;/code&gt;,  &lt;code&gt;WEST&lt;/code&gt;, and &lt;code&gt;CENTER&lt;/code&gt;.  When adding a  component to a container with a border layout, use one of these  five constants, for example:  &lt;/p&gt;    Panel p = new Panel();     p.setLayout(new BorderLayout());     p.add(new Button("Okay"), BorderLayout.SOUTH);    As a convenience, &lt;code&gt;BorderLayout&lt;/code&gt; interprets the  absence of a string specification the same as the constant  &lt;code&gt;CENTER&lt;/code&gt;:      Panel p2 = new Panel();     p2.setLayout(new BorderLayout());     p2.add(new TextArea());  // Same as p.add(new TextArea(), BorderLayout.CENTER);    &lt;p&gt;  In addition, &lt;code&gt;BorderLayout&lt;/code&gt; supports the relative  positioning constants, &lt;code&gt;PAGE_START&lt;/code&gt;, &lt;code&gt;PAGE_END&lt;/code&gt;,  &lt;code&gt;LINE_START&lt;/code&gt;, and &lt;code&gt;LINE_END&lt;/code&gt;.  In a container whose &lt;code&gt;ComponentOrientation&lt;/code&gt; is set to  &lt;code&gt;ComponentOrientation.LEFT_TO_RIGHT&lt;/code&gt;, these constants map to  &lt;code&gt;NORTH&lt;/code&gt;, &lt;code&gt;SOUTH&lt;/code&gt;, &lt;code&gt;WEST&lt;/code&gt;, and  &lt;code&gt;EAST&lt;/code&gt;, respectively.    &lt;/p&gt;&lt;p&gt;  For compatibility with previous releases, &lt;code&gt;BorderLayout&lt;/code&gt;  also includes the relative positioning constants &lt;code&gt;BEFORE_FIRST_LINE&lt;/code&gt;,  &lt;code&gt;AFTER_LAST_LINE&lt;/code&gt;, &lt;code&gt;BEFORE_LINE_BEGINS&lt;/code&gt; and  &lt;code&gt;AFTER_LINE_ENDS&lt;/code&gt;.  These are equivalent to   &lt;code&gt;PAGE_START&lt;/code&gt;, &lt;code&gt;PAGE_END&lt;/code&gt;, &lt;code&gt;LINE_START&lt;/code&gt;  and &lt;code&gt;LINE_END&lt;/code&gt; respectively.  For   consistency with the relative positioning constants used by other   components, the latter constants are preferred.  &lt;/p&gt;&lt;p&gt;  Mixing both absolute and relative positioning constants can lead to   unpredicable results.  If  you use both types, the relative constants will take precedence.  For example, if you add components using both the &lt;code&gt;NORTH&lt;/code&gt;  and &lt;code&gt;PAGE_START&lt;/code&gt; constants in a container whose  orientation is &lt;code&gt;LEFT_TO_RIGHT&lt;/code&gt;, only the  &lt;code&gt;PAGE_START&lt;/code&gt; will be layed out.  &lt;/p&gt;&lt;p&gt;  NOTE: Currently (in the Java 2 platform v1.2),  &lt;code&gt;BorderLayout&lt;/code&gt; does not support vertical  orientations.  The &lt;code&gt;isVertical&lt;/code&gt; setting on the container's  &lt;code&gt;ComponentOrientation&lt;/code&gt; is not respected.  &lt;/p&gt;&lt;p&gt;  The components are laid out according to their  preferred sizes and the constraints of the container's size.  The &lt;code&gt;NORTH&lt;/code&gt; and &lt;code&gt;SOUTH&lt;/code&gt; components may  be stretched horizontally; the &lt;code&gt;EAST&lt;/code&gt; and  &lt;code&gt;WEST&lt;/code&gt; components may be stretched vertically;  the &lt;code&gt;CENTER&lt;/code&gt; component may stretch both horizontally  and vertically to fill any space left over.  &lt;/p&gt;&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-3738510056367794769?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/3738510056367794769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=3738510056367794769' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/3738510056367794769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/3738510056367794769'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/borderlayout.html' title='BorderLayout'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-6609593617285722414</id><published>2008-05-05T18:29:00.000-07:00</published><updated>2008-05-05T18:30:23.071-07:00</updated><title type='text'>BasicStroke</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class BasicStroke&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.BasicStroke&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;p&gt; The &lt;code&gt;BasicStroke&lt;/code&gt; class defines a basic set of rendering  attributes for the outlines of graphics primitives, which are rendered  with a &lt;code&gt;Graphics2D&lt;/code&gt; object that has its Stroke attribute set to   this &lt;code&gt;BasicStroke&lt;/code&gt;.  The rendering attributes defined by &lt;code&gt;BasicStroke&lt;/code&gt; describe   the shape of the mark made by a pen drawn along the outline of a   &lt;code&gt;Shape&lt;/code&gt; and the decorations applied at the ends and joins of   path segments of the &lt;code&gt;Shape&lt;/code&gt;.  These rendering attributes include:  &lt;/p&gt;&lt;dl compact="compact"&gt;&lt;dt&gt;&lt;i&gt;width&lt;/i&gt;  &lt;/dt&gt;&lt;dd&gt;The pen width, measured perpendicularly to the pen trajectory.  &lt;/dd&gt;&lt;dt&gt;&lt;i&gt;end caps&lt;/i&gt;  &lt;/dt&gt;&lt;dd&gt;The decoration applied to the ends of unclosed subpaths and  dash segments.  Subpaths that start and end on the same point are  still considered unclosed if they do not have a CLOSE segment.  See &lt;code&gt;SEG_CLOSE&lt;/code&gt;  for more information on the CLOSE segment.  The three different decorations are: &lt;code&gt;CAP_BUTT&lt;/code&gt;,  &lt;code&gt;CAP_ROUND&lt;/code&gt;, and &lt;code&gt;CAP_SQUARE&lt;/code&gt;.  &lt;/dd&gt;&lt;dt&gt;&lt;i&gt;line joins&lt;/i&gt;  &lt;/dt&gt;&lt;dd&gt;The decoration applied at the intersection of two path segments   and at the intersection of the endpoints of a subpath that is closed  using &lt;code&gt;SEG_CLOSE&lt;/code&gt;.  The three different decorations are: &lt;code&gt;JOIN_BEVEL&lt;/code&gt;,   &lt;code&gt;JOIN_MITER&lt;/code&gt;, and &lt;code&gt;JOIN_ROUND&lt;/code&gt;.  &lt;/dd&gt;&lt;dt&gt;&lt;i&gt;miter limit&lt;/i&gt;  &lt;/dt&gt;&lt;dd&gt;The limit to trim a line join that has a JOIN_MITER decoration.  A line join is trimmed when the ratio of miter length to stroke  width is greater than the miterlimit value.  The miter length is   the diagonal length of the miter, which is the distance between   the inside corner and the outside corner of the intersection.  The smaller the angle formed by two line segments, the longer   the miter length and the sharper the angle of intersection.  The  default miterlimit value of 10.0f causes all angles less than   11 degrees to be trimmed.  Trimming miters converts  the decoration of the line join to bevel.  &lt;/dd&gt;&lt;dt&gt;&lt;i&gt;dash attributes&lt;/i&gt;  &lt;/dt&gt;&lt;dd&gt;The definition of how to make a dash pattern by alternating  between opaque and transparent sections.  &lt;/dd&gt;&lt;/dl&gt;  All attributes that specify measurements and distances controlling  the shape of the returned outline are measured in the same  coordinate system as the original unstroked &lt;code&gt;Shape&lt;/code&gt;   argument.  When a &lt;code&gt;Graphics2D&lt;/code&gt; object uses a   &lt;code&gt;Stroke&lt;/code&gt; object to redefine a path during the execution   of one of its &lt;code&gt;draw&lt;/code&gt; methods, the geometry is supplied   in its original form before the &lt;code&gt;Graphics2D&lt;/code&gt; transform   attribute is applied.  Therefore, attributes such as the pen width   are interpreted in the user space coordinate system of the   &lt;code&gt;Graphics2D&lt;/code&gt; object and are subject to the scaling and   shearing effects of the user-space-to-device-space transform in that   particular &lt;code&gt;Graphics2D&lt;/code&gt;.    For example, the width of a rendered shape's outline is determined  not only by the width attribute of this &lt;code&gt;BasicStroke&lt;/code&gt;,   but also by the transform attribute of the   &lt;code&gt;Graphics2D&lt;/code&gt; object.  Consider this code:  &lt;blockquote&gt;&lt;tt&gt;       // sets the Graphics2D object's Tranform attribute         g2d.scale(10, 10);       // sets the Graphics2D object's Stroke attribute       g2d.setStroke(new BasicStroke(1.5f));  &lt;/tt&gt;&lt;/blockquote&gt;  Assuming there are no other scaling transforms added to the   &lt;code&gt;Graphics2D&lt;/code&gt; object, the resulting line   will be approximately 15 pixels wide.   As the example code demonstrates, a floating-point line   offers better precision, especially when large transforms are   used with a &lt;code&gt;Graphics2D&lt;/code&gt; object.  When a line is diagonal, the exact width depends on how the   rendering pipeline chooses which pixels to fill as it traces the   theoretical widened outline.  The choice of which pixels to turn   on is affected by the antialiasing attribute because the   antialiasing rendering pipeline can choose to color   partially-covered pixels.   &lt;p&gt;  For more information on the user space coordinate system and the   rendering process, see the &lt;code&gt;Graphics2D&lt;/code&gt; class comments. &lt;/p&gt;&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-6609593617285722414?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/6609593617285722414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=6609593617285722414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/6609593617285722414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/6609593617285722414'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/basicstroke.html' title='BasicStroke'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-6149762088853377854</id><published>2008-05-05T18:28:00.000-07:00</published><updated>2008-05-05T18:29:26.680-07:00</updated><title type='text'>AWTKeyStroke</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class AWTKeyStroke&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.AWTKeyStroke&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;&lt;pre&gt;public class &lt;b&gt;AWTKeyStroke&lt;/b&gt;&lt;dt&gt;extends Object&lt;/dt&gt;&lt;dt&gt;implements Serializable&lt;/dt&gt;&lt;/pre&gt;&lt;/dt&gt;&lt;/dl&gt;   &lt;p&gt; An &lt;code&gt;AWTKeyStroke&lt;/code&gt; represents a key action on the  keyboard, or equivalent input device. &lt;code&gt;AWTKeyStroke&lt;/code&gt;s  can correspond to only a press or release of a  particular key, just as &lt;code&gt;KEY_PRESSED&lt;/code&gt; and  &lt;code&gt;KEY_RELEASED&lt;/code&gt; &lt;code&gt;KeyEvent&lt;/code&gt;s do;  alternately, they can correspond to typing a specific Java character, just  as &lt;code&gt;KEY_TYPED&lt;/code&gt; &lt;code&gt;KeyEvent&lt;/code&gt;s do.  In all cases, &lt;code&gt;AWTKeyStroke&lt;/code&gt;s can specify modifiers  (alt, shift, control, meta, or a combination thereof) which must be present  during the action for an exact match.  &lt;/p&gt;&lt;p&gt;  &lt;code&gt;AWTKeyStrokes&lt;/code&gt; are immutable, and are intended  to be unique. Client code should never create an  &lt;code&gt;AWTKeyStroke&lt;/code&gt; on its own, but should instead use  a variant of &lt;code&gt;getAWTKeyStroke&lt;/code&gt;. Client use of these factory  methods allows the &lt;code&gt;AWTKeyStroke&lt;/code&gt; implementation  to cache and share instances efficiently. &lt;/p&gt;&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-6149762088853377854?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/6149762088853377854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=6149762088853377854' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/6149762088853377854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/6149762088853377854'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/awtkeystroke.html' title='AWTKeyStroke'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-8668923637170288848</id><published>2008-05-05T18:27:00.001-07:00</published><updated>2008-05-05T18:27:53.029-07:00</updated><title type='text'>Interface InputMethodListener</title><content type='html'>&lt;h2&gt;&lt;span style="font-size:-1;"&gt; java.awt.event&lt;/span&gt;&lt;br /&gt;Interface InputMethodListener&lt;/h2&gt;he listener interface for receiving input method events. A text editing  component has to install an input method event listener in order to work  with input methods.   &lt;p&gt;  The text editing component also has to provide an instance of InputMethodRequests. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-8668923637170288848?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/8668923637170288848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=8668923637170288848' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/8668923637170288848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/8668923637170288848'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/interface-inputmethodlistener.html' title='Interface InputMethodListener'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-8433709548857601565</id><published>2008-05-05T18:26:00.000-07:00</published><updated>2008-05-05T18:27:12.034-07:00</updated><title type='text'>Interface ContainerListener</title><content type='html'>&lt;h2&gt;&lt;font size="-1"&gt; java.awt.event&lt;/font&gt;&lt;br /&gt;Interface ContainerListener&lt;/h2&gt;&lt;br /&gt;The listener interface for receiving container events.  The class that is interested in processing a container event  either implements this interface (and all the methods it  contains) or extends the abstract &lt;code&gt;ContainerAdapter&lt;/code&gt; class  (overriding only the methods of interest).  The listener object created from that class is then registered with a  component using the component's &lt;code&gt;addContainerListener&lt;/code&gt;   method. When the container's contents change because a component  has been added or removed, the relevant method in the listener object   is invoked, and the &lt;code&gt;ContainerEvent&lt;/code&gt; is passed to it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-8433709548857601565?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/8433709548857601565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=8433709548857601565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/8433709548857601565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/8433709548857601565'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/interface-containerlistener.html' title='Interface ContainerListener'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-9159369461858655951</id><published>2008-05-05T18:25:00.000-07:00</published><updated>2008-05-05T18:26:13.212-07:00</updated><title type='text'>AWTEventMulticaster</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class AWTEventMulticaster&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.AWTEventMulticaster&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;&lt;pre&gt;public class &lt;b&gt;AWTEventMulticaster&lt;/b&gt;&lt;dt&gt;extends Object&lt;/dt&gt;&lt;dt&gt;implements ComponentListener, ContainerListener, FocusListener, KeyListener, MouseListener, MouseMotionListener, WindowListener, WindowFocusListener, WindowStateListener, ActionListener, ItemListener, AdjustmentListener, TextListener, InputMethodListener, HierarchyListener, HierarchyBoundsListener, MouseWheelListener&lt;/dt&gt;&lt;/pre&gt;&lt;/dt&gt;&lt;/dl&gt;    A class which implements efficient and thread-safe multi-cast event   dispatching for the AWT events defined in the java.awt.event package.    This class will manage an immutable structure consisting of a chain of   event listeners and will dispatch events to those listeners.  Because  the structure is immutable, it is safe to use this API to add/remove  listeners during the process of an event dispatch operation.  However, event listeners added during the process of an event dispatch   operation will not be notified of the event currently being dispatched.&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-9159369461858655951?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/9159369461858655951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=9159369461858655951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/9159369461858655951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/9159369461858655951'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/awteventmulticaster.html' title='AWTEventMulticaster'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-3416941294954788007</id><published>2008-05-05T18:23:00.000-07:00</published><updated>2008-05-05T18:24:59.416-07:00</updated><title type='text'>AlphaComposite</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class AlphaComposite&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.AlphaComposite&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;&lt;pre&gt;public final class &lt;b&gt;AlphaComposite&lt;/b&gt;&lt;dt&gt;extends Object&lt;/dt&gt;&lt;dt&gt;implements Composite&lt;/dt&gt;&lt;/pre&gt;&lt;/dt&gt;&lt;/dl&gt;   &lt;p&gt; The &lt;code&gt;AlphaComposite&lt;/code&gt; class implements basic alpha   compositing rules for combining source and destination colors  to achieve blending and transparency effects with graphics and  images.  The specific rules implemented by this class are the basic set  of 12 rules described in  T. Porter and T. Duff, "Compositing Digital Images", SIGGRAPH 84,  253-259.  The rest of this documentation assumes some familiarity with the  definitions and concepts outlined in that paper.   &lt;/p&gt;&lt;p&gt;  This class extends the standard equations defined by Porter and  Duff to include one additional factor.  An instance of the &lt;code&gt;AlphaComposite&lt;/code&gt; class can contain  an alpha value that is used to modify the opacity or coverage of  every source pixel before it is used in the blending equations.   &lt;/p&gt;&lt;p&gt;  It is important to note that the equations defined by the Porter  and Duff paper are all defined to operate on color components  that are premultiplied by their corresponding alpha components.  Since the &lt;code&gt;ColorModel&lt;/code&gt; and &lt;code&gt;Raster&lt;/code&gt; classes  allow the storage of pixel data in either premultiplied or  non-premultiplied form, all input data must be normalized into  premultiplied form before applying the equations and all results  might need to be adjusted back to the form required by the destination  before the pixel values are stored.   &lt;/p&gt;&lt;p&gt;  Also note that this class defines only the equations  for combining color and alpha values in a purely mathematical  sense. The accurate application of its equations depends  on the way the data is retrieved from its sources and stored  in its destinations.  See Implementation Caveats   for further information.   &lt;/p&gt;&lt;p&gt;  The following factors are used in the description of the blending  equation in the Porter and Duff paper:   &lt;/p&gt;&lt;blockquote&gt;  &lt;table summary="layout"&gt;  &lt;tbody&gt;&lt;tr&gt;&lt;th align="left"&gt;Factor  &lt;/th&gt;&lt;th align="left"&gt;Definition  &lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;A&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt;&lt;/td&gt;&lt;td&gt;the alpha component of the source pixel  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;C&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt;&lt;/td&gt;&lt;td&gt;a color component of the source pixel in premultiplied form  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;A&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt;&lt;/td&gt;&lt;td&gt;the alpha component of the destination pixel  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;C&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt;&lt;/td&gt;&lt;td&gt;a color component of the destination pixel in premultiplied form  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;F&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt;&lt;/td&gt;&lt;td&gt;the fraction of the source pixel that contributes to the output  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;F&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt;&lt;/td&gt;&lt;td&gt;the fraction of the destination pixel that contributes  to the output  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;A&lt;sub&gt;r&lt;/sub&gt;&lt;/em&gt;&lt;/td&gt;&lt;td&gt;the alpha component of the result  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;C&lt;sub&gt;r&lt;/sub&gt;&lt;/em&gt;&lt;/td&gt;&lt;td&gt;a color component of the result in premultiplied form  &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;/blockquote&gt;   &lt;p&gt;  Using these factors, Porter and Duff define 12 ways of choosing  the blending factors &lt;em&gt;F&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt; and &lt;em&gt;F&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt; to  produce each of 12 desirable visual effects.  The equations for determining &lt;em&gt;F&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt; and &lt;em&gt;F&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt;  are given in the descriptions of the 12 static fields  that specify visual effects.  For example,   the description for   &lt;code&gt;SRC_OVER&lt;/code&gt;  specifies that &lt;em&gt;F&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt; = 1 and &lt;em&gt;F&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt; = (1-&lt;em&gt;A&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt;).  Once a set of equations for determining the blending factors is  known they can then be applied to each pixel to produce a result  using the following set of equations:   &lt;/p&gt;        &lt;em&gt;F&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt; = &lt;em&gt;f&lt;/em&gt;(&lt;em&gt;A&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt;)         &lt;em&gt;F&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt; = &lt;em&gt;f&lt;/em&gt;(&lt;em&gt;A&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt;)         &lt;em&gt;A&lt;sub&gt;r&lt;/sub&gt;&lt;/em&gt; = &lt;em&gt;A&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt;*&lt;em&gt;F&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt; + &lt;em&gt;A&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt;*&lt;em&gt;F&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt;         &lt;em&gt;C&lt;sub&gt;r&lt;/sub&gt;&lt;/em&gt; = &lt;em&gt;C&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt;*&lt;em&gt;F&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt; + &lt;em&gt;C&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt;*&lt;em&gt;F&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt;   &lt;p&gt;  The following factors will be used to discuss our extensions to  the blending equation in the Porter and Duff paper:   &lt;/p&gt;&lt;blockquote&gt;  &lt;table summary="layout"&gt;  &lt;tbody&gt;&lt;tr&gt;&lt;th align="left"&gt;Factor  &lt;/th&gt;&lt;th align="left"&gt;Definition  &lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;C&lt;sub&gt;sr&lt;/sub&gt;&lt;/em&gt; &lt;/td&gt;&lt;td&gt;one of the raw color components of the source pixel  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;C&lt;sub&gt;dr&lt;/sub&gt;&lt;/em&gt; &lt;/td&gt;&lt;td&gt;one of the raw color components of the destination pixel  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;A&lt;sub&gt;ac&lt;/sub&gt;&lt;/em&gt;  &lt;/td&gt;&lt;td&gt;the "extra" alpha component from the AlphaComposite instance  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;A&lt;sub&gt;sr&lt;/sub&gt;&lt;/em&gt; &lt;/td&gt;&lt;td&gt;the raw alpha component of the source pixel  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;A&lt;sub&gt;dr&lt;/sub&gt;&lt;/em&gt;&lt;/td&gt;&lt;td&gt;the raw alpha component of the destination pixel  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;A&lt;sub&gt;df&lt;/sub&gt;&lt;/em&gt; &lt;/td&gt;&lt;td&gt;the final alpha component stored in the destination  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;C&lt;sub&gt;df&lt;/sub&gt;&lt;/em&gt; &lt;/td&gt;&lt;td&gt;the final raw color component stored in the destination  &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;/blockquote&gt;   &lt;h3&gt;Preparing Inputs&lt;/h3&gt;   &lt;p&gt;  The &lt;code&gt;AlphaComposite&lt;/code&gt; class defines an additional alpha  value that is applied to the source alpha.  This value is applied as if an implicit SRC_IN rule were first  applied to the source pixel against a pixel with the indicated  alpha by multiplying both the raw source alpha and the raw  source colors by the alpha in the &lt;code&gt;AlphaComposite&lt;/code&gt;.  This leads to the following equation for producing the alpha  used in the Porter and Duff blending equation:   &lt;/p&gt;        &lt;em&gt;A&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt; = &lt;em&gt;A&lt;sub&gt;sr&lt;/sub&gt;&lt;/em&gt; * &lt;em&gt;A&lt;sub&gt;ac&lt;/sub&gt;&lt;/em&gt;    All of the raw source color components need to be multiplied  by the alpha in the &lt;code&gt;AlphaComposite&lt;/code&gt; instance.  Additionally, if the source was not in premultiplied form  then the color components also need to be multiplied by the  source alpha.  Thus, the equation for producing the source color components  for the Porter and Duff equation depends on whether the source  pixels are premultiplied or not:           &lt;em&gt;C&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt; = &lt;em&gt;C&lt;sub&gt;sr&lt;/sub&gt;&lt;/em&gt; * &lt;em&gt;A&lt;sub&gt;sr&lt;/sub&gt;&lt;/em&gt; * &lt;em&gt;A&lt;sub&gt;ac&lt;/sub&gt;&lt;/em&gt;     (if source is not premultiplied)         &lt;em&gt;C&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt; = &lt;em&gt;C&lt;sub&gt;sr&lt;/sub&gt;&lt;/em&gt; * &lt;em&gt;A&lt;sub&gt;ac&lt;/sub&gt;&lt;/em&gt;           (if source is premultiplied)    No adjustment needs to be made to the destination alpha:           &lt;em&gt;A&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt; = &lt;em&gt;A&lt;sub&gt;dr&lt;/sub&gt;&lt;/em&gt;    &lt;p&gt;  The destination color components need to be adjusted only if  they are not in premultiplied form:   &lt;/p&gt;        &lt;em&gt;C&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt; = &lt;em&gt;C&lt;sub&gt;dr&lt;/sub&gt;&lt;/em&gt; * &lt;em&gt;A&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt;    (if destination is not premultiplied)          &lt;em&gt;C&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt; = &lt;em&gt;C&lt;sub&gt;dr&lt;/sub&gt;&lt;/em&gt;         (if destination is premultiplied)    &lt;h3&gt;Applying the Blending Equation&lt;/h3&gt;   &lt;p&gt;  The adjusted &lt;em&gt;A&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt;, &lt;em&gt;A&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt;,  &lt;em&gt;C&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt;, and &lt;em&gt;C&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt; are used in the standard  Porter and Duff equations to calculate the blending factors  &lt;em&gt;F&lt;sub&gt;s&lt;/sub&gt;&lt;/em&gt; and &lt;em&gt;F&lt;sub&gt;d&lt;/sub&gt;&lt;/em&gt; and then the resulting  premultiplied components &lt;em&gt;A&lt;sub&gt;r&lt;/sub&gt;&lt;/em&gt; and &lt;em&gt;C&lt;sub&gt;r&lt;/sub&gt;&lt;/em&gt;.   &lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;h3&gt;Preparing Results&lt;/h3&gt;   &lt;p&gt;  The results only need to be adjusted if they are to be stored  back into a destination buffer that holds data that is not  premultiplied, using the following equations:   &lt;/p&gt;        &lt;em&gt;A&lt;sub&gt;df&lt;/sub&gt;&lt;/em&gt; = &lt;em&gt;A&lt;sub&gt;r&lt;/sub&gt;&lt;/em&gt;         &lt;em&gt;C&lt;sub&gt;df&lt;/sub&gt;&lt;/em&gt; = &lt;em&gt;C&lt;sub&gt;r&lt;/sub&gt;&lt;/em&gt;                 (if dest is premultiplied)         &lt;em&gt;C&lt;sub&gt;df&lt;/sub&gt;&lt;/em&gt; = &lt;em&gt;C&lt;sub&gt;r&lt;/sub&gt;&lt;/em&gt; / &lt;em&gt;A&lt;sub&gt;r&lt;/sub&gt;&lt;/em&gt;            (if dest is not premultiplied)    Note that since the division is undefined if the resulting alpha  is zero, the division in that case is omitted to avoid the "divide  by zero" and the color components are left as  all zeros.   &lt;p&gt;  &lt;/p&gt;&lt;h3&gt;Performance Considerations&lt;/h3&gt;   &lt;p&gt;  For performance reasons, it is preferrable that   &lt;code&gt;Raster&lt;/code&gt; objects passed to the &lt;code&gt;compose&lt;/code&gt;  method of a &lt;code&gt;CompositeContext&lt;/code&gt; object created by the   &lt;code&gt;AlphaComposite&lt;/code&gt; class have premultiplied data.  If either the source &lt;code&gt;Raster&lt;/code&gt;  or the destination &lt;code&gt;Raster&lt;/code&gt;  is not premultiplied, however,  appropriate conversions are performed before and after the compositing  operation.   &lt;/p&gt;&lt;h3&gt;&lt;a name="caveats"&gt;Implementation Caveats&lt;/a&gt;&lt;/h3&gt;   &lt;ul&gt;&lt;li&gt;  Many sources, such as some of the opaque image types listed  in the &lt;code&gt;BufferedImage&lt;/code&gt; class, do not store alpha values  for their pixels.  Such sources supply an alpha of 1.0 for  all of their pixels.   &lt;p&gt;  &lt;/p&gt;&lt;/li&gt;&lt;li&gt;  Many destinations also have no place to store the alpha values  that result from the blending calculations performed by this class.  Such destinations thus implicitly discard the resulting  alpha values that this class produces.  It is recommended that such destinations should treat their stored  color values as non-premultiplied and divide the resulting color  values by the resulting alpha value before storing the color  values and discarding the alpha value.   &lt;p&gt;  &lt;/p&gt;&lt;/li&gt;&lt;li&gt;  The accuracy of the results depends on the manner in which pixels  are stored in the destination.  An image format that provides at least 8 bits of storage per color  and alpha component is at least adequate for use as a destination  for a sequence of a few to a dozen compositing operations.  An image format with fewer than 8 bits of storage per component  is of limited use for just one or two compositing operations  before the rounding errors dominate the results.  An image format  that does not separately store   color components is not a  good candidate for any type of translucent blending.  For example, &lt;code&gt;BufferedImage.TYPE_BYTE_INDEXED&lt;/code&gt;  should not be used as a destination for a blending operation  because every operation   can introduce large errors, due to  the need to choose a pixel from a limited palette to match the  results of the blending equations.   &lt;p&gt;  &lt;/p&gt;&lt;/li&gt;&lt;li&gt;  Nearly all formats store pixels as discrete integers rather than  the floating point values used in the reference equations above.  The implementation can either scale the integer pixel  values into floating point values in the range 0.0 to 1.0 or   use slightly modified versions of the equations  that operate entirely in the integer domain and yet produce  analogous results to the reference equations.   &lt;p&gt;  Typically the integer values are related to the floating point  values in such a way that the integer 0 is equated  to the floating point value 0.0 and the integer  2^&lt;em&gt;n&lt;/em&gt;-1 (where &lt;em&gt;n&lt;/em&gt; is the number of bits  in the representation) is equated to 1.0.  For 8-bit representations, this means that 0x00  represents 0.0 and 0xff represents  1.0.   &lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;/li&gt;&lt;li&gt;  The internal implementation can approximate some of the equations  and it can also eliminate some steps to avoid unnecessary operations.  For example, consider a discrete integer image with non-premultiplied  alpha values that uses 8 bits per component for storage.  The stored values for a  nearly transparent darkened red might be:   &lt;pre&gt;    (A, R, G, B) = (0x01, 0xb0, 0x00, 0x00)&lt;/pre&gt;   &lt;p&gt;  If integer math were being used and this value were being  composited in  &lt;code&gt;SRC&lt;/code&gt;  mode with no extra alpha, then the math would  indicate that the results were (in integer format):   &lt;/p&gt;&lt;pre&gt;    (A, R, G, B) = (0x01, 0x01, 0x00, 0x00)&lt;/pre&gt;   &lt;p&gt;  Note that the intermediate values, which are always in premultiplied  form, would only allow the integer red component to be either 0x00  or 0x01.  When we try to store this result back into a destination  that is not premultiplied, dividing out the alpha will give us  very few choices for the non-premultiplied red value.  In this case an implementation that performs the math in integer  space without shortcuts is likely to end up with the final pixel  values of:   &lt;/p&gt;&lt;pre&gt;    (A, R, G, B) = (0x01, 0xff, 0x00, 0x00)&lt;/pre&gt;   &lt;p&gt;  (Note that 0x01 divided by 0x01 gives you 1.0, which is equivalent  to the value 0xff in an 8-bit storage format.)   &lt;/p&gt;&lt;p&gt;  Alternately, an implementation that uses floating point math  might produce more accurate results and end up returning to the  original pixel value with little, if any, roundoff error.  Or, an implementation using integer math might decide that since  the equations boil down to a virtual NOP on the color values  if performed in a floating point space, it can transfer the  pixel untouched to the destination and avoid all the math entirely.   &lt;/p&gt;&lt;p&gt;  These implementations all attempt to honor the  same equations, but use different tradeoffs of integer and  floating point math and reduced or full equations.  To account for such differences, it is probably best to  expect only that the premultiplied form of the results to  match between implementations and image formats.  In this  case both answers, expressed in premultiplied form would  equate to:   &lt;/p&gt;&lt;pre&gt;    (A, R, G, B) = (0x01, 0x01, 0x00, 0x00)&lt;/pre&gt;   &lt;p&gt;  and thus they would all match.   &lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;/li&gt;&lt;li&gt;  Because of the technique of simplifying the equations for  calculation efficiency, some implementations might perform  differently when encountering result alpha values of 0.0  on a non-premultiplied destination.  Note that the simplification of removing the divide by alpha  in the case of the SRC rule is technically not valid if the  denominator (alpha) is 0.  But, since the results should only be expected to be accurate  when viewed in premultiplied form, a resulting alpha of 0  essentially renders the resulting color components irrelevant  and so exact behavior in this case should not be expected.  &lt;/li&gt;&lt;/ul&gt;&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-3416941294954788007?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/3416941294954788007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=3416941294954788007' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/3416941294954788007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/3416941294954788007'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/alphacomposite.html' title='AlphaComposite'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-5175938783848048098</id><published>2008-05-05T18:22:00.001-07:00</published><updated>2008-05-05T18:22:43.400-07:00</updated><title type='text'>PopupMenu.AccessibleAWTPopupMenu</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class PopupMenu.AccessibleAWTPopupMenu&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;javax.accessibility.AccessibleContext&lt;br /&gt;     &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;java.awt.MenuComponent.AccessibleAWTMenuComponent&lt;br /&gt;         &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;java.awt.MenuItem.AccessibleAWTMenuItem&lt;br /&gt;             &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;java.awt.Menu.AccessibleAWTMenu&lt;br /&gt;                 &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.PopupMenu.AccessibleAWTPopupMenu&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;&lt;pre&gt;protected class &lt;b&gt;PopupMenu.AccessibleAWTPopupMenu&lt;/b&gt;&lt;dt&gt;extends Menu.AccessibleAWTMenu&lt;/dt&gt;&lt;/pre&gt;&lt;/dt&gt;&lt;/dl&gt;   &lt;p&gt; Inner class of PopupMenu used to provide default support for  accessibility.  This class is not meant to be used directly by  application developers, but is instead meant only to be  subclassed by menu component developers.  &lt;/p&gt;&lt;p&gt;  The class used to obtain the accessible role for this object. &lt;/p&gt;&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-5175938783848048098?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/5175938783848048098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=5175938783848048098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/5175938783848048098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/5175938783848048098'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/popupmenuaccessibleawtpopupmenu.html' title='PopupMenu.AccessibleAWTPopupMenu'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-5290624870243118363</id><published>2008-05-05T18:21:00.001-07:00</published><updated>2008-05-05T18:21:44.741-07:00</updated><title type='text'>Menu.AccessibleAWTMenu</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class Menu.AccessibleAWTMenu&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;javax.accessibility.AccessibleContext&lt;br /&gt;     &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;java.awt.MenuComponent.AccessibleAWTMenuComponent&lt;br /&gt;         &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;java.awt.MenuItem.AccessibleAWTMenuItem&lt;br /&gt;             &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.Menu.AccessibleAWTMenu&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;&lt;pre&gt;protected class &lt;b&gt;Menu.AccessibleAWTMenu&lt;/b&gt;&lt;dt&gt;extends MenuItem.AccessibleAWTMenuItem&lt;/dt&gt;&lt;/pre&gt;&lt;/dt&gt;&lt;/dl&gt;   &lt;p&gt; Inner class of Menu used to provide default support for  accessibility.  This class is not meant to be used directly by  application developers, but is instead meant only to be  subclassed by menu component developers.  &lt;/p&gt;&lt;p&gt;  This class implements accessibility support for the   &lt;code&gt;Menu&lt;/code&gt; class.  It provides an implementation of the   Java Accessibility API appropriate to menu user-interface elements. &lt;/p&gt;&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-5290624870243118363?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/5290624870243118363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=5290624870243118363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/5290624870243118363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/5290624870243118363'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/menuaccessibleawtmenu.html' title='Menu.AccessibleAWTMenu'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-6234101011516867346</id><published>2008-05-05T18:18:00.000-07:00</published><updated>2008-05-05T18:20:05.270-07:00</updated><title type='text'>CheckboxMenuItem.AccessibleAWTCheckboxMenuItem</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class CheckboxMenuItem.AccessibleAWTCheckboxMenuItem&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;javax.accessibility.AccessibleContext&lt;br /&gt;     &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;java.awt.MenuComponent.AccessibleAWTMenuComponent&lt;br /&gt;         &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;java.awt.MenuItem.AccessibleAWTMenuItem&lt;br /&gt;             &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.CheckboxMenuItem.AccessibleAWTCheckboxMenuItem&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;&lt;pre&gt;protected class &lt;b&gt;CheckboxMenuItem.AccessibleAWTCheckboxMenuItem&lt;/b&gt;&lt;dt&gt;extends MenuItem.AccessibleAWTMenuItem&lt;/dt&gt;&lt;dt&gt;implements AccessibleAction, AccessibleValue&lt;/dt&gt;&lt;/pre&gt;&lt;/dt&gt;&lt;/dl&gt;   &lt;p&gt; Inner class of CheckboxMenuItem used to provide default support for  accessibility.  This class is not meant to be used directly by  application developers, but is instead meant only to be  subclassed by menu component developers.  &lt;/p&gt;&lt;p&gt;  This class implements accessibility support for the   &lt;code&gt;CheckboxMenuItem&lt;/code&gt; class.  It provides an implementation   of the Java Accessibility API appropriate to checkbox menu item   user-interface elements. &lt;/p&gt;&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-6234101011516867346?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/6234101011516867346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=6234101011516867346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/6234101011516867346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/6234101011516867346'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/checkboxmenuitemaccessibleawtcheckboxme.html' title='CheckboxMenuItem.AccessibleAWTCheckboxMenuItem'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-4175482950834255595</id><published>2008-05-05T18:17:00.000-07:00</published><updated>2008-05-05T18:18:49.540-07:00</updated><title type='text'>MenuItem.AccessibleAWTMenuItem</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class MenuItem.AccessibleAWTMenuItem&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;javax.accessibility.AccessibleContext&lt;br /&gt;     &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;java.awt.MenuComponent.AccessibleAWTMenuComponent&lt;br /&gt;         &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.MenuItem.AccessibleAWTMenuItem&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;&lt;pre&gt;protected class &lt;b&gt;MenuItem.AccessibleAWTMenuItem&lt;/b&gt;&lt;dt&gt;extends MenuComponent.AccessibleAWTMenuComponent&lt;/dt&gt;&lt;dt&gt;implements AccessibleAction, AccessibleValue&lt;/dt&gt;&lt;/pre&gt;&lt;/dt&gt;&lt;/dl&gt;   &lt;p&gt; Inner class of MenuItem used to provide default support for  accessibility.  This class is not meant to be used directly by  application developers, but is instead meant only to be  subclassed by menu component developers.  &lt;/p&gt;&lt;p&gt;  This class implements accessibility support for the   &lt;code&gt;MenuItem&lt;/code&gt; class.  It provides an implementation of the   Java Accessibility API appropriate to menu item user-interface elements. &lt;/p&gt;&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-4175482950834255595?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/4175482950834255595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=4175482950834255595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/4175482950834255595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/4175482950834255595'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/05/menuitemaccessibleawtmenuitem.html' title='MenuItem.AccessibleAWTMenuItem'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-8074454895863041294</id><published>2008-04-09T21:08:00.000-07:00</published><updated>2008-04-09T21:10:28.281-07:00</updated><title type='text'>MenuBar.AccessibleAWTMenuBar</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class MenuBar.AccessibleAWTMenuBar&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;javax.accessibility.AccessibleContext&lt;br /&gt;     &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;java.awt.MenuComponent.AccessibleAWTMenuComponent&lt;br /&gt;         &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.MenuBar.AccessibleAWTMenuBar&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;&lt;pre&gt;protected class &lt;b&gt;MenuBar.AccessibleAWTMenuBar&lt;/b&gt;&lt;dt&gt;extends MenuComponent.AccessibleAWTMenuComponent&lt;/dt&gt;&lt;/pre&gt;&lt;/dt&gt;&lt;/dl&gt;   &lt;p&gt; Inner class of MenuBar used to provide default support for  accessibility.  This class is not meant to be used directly by  application developers, but is instead meant only to be  subclassed by menu component developers.  &lt;/p&gt;&lt;p&gt;  This class implements accessibility support for the   &lt;code&gt;MenuBar&lt;/code&gt; class.  It provides an implementation of the   Java Accessibility API appropriate to menu bar user-interface elements. &lt;/p&gt;&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-8074454895863041294?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/8074454895863041294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=8074454895863041294' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/8074454895863041294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/8074454895863041294'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/04/menubaraccessibleawtmenubar.html' title='MenuBar.AccessibleAWTMenuBar'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-1977663991888401015</id><published>2008-04-09T21:06:00.000-07:00</published><updated>2008-04-09T21:08:14.815-07:00</updated><title type='text'>MenuComponent.AccessibleAWTMenuComponent</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class MenuComponent.AccessibleAWTMenuComponent&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;javax.accessibility.AccessibleContext&lt;br /&gt;     &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.MenuComponent.AccessibleAWTMenuComponent&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;&lt;pre&gt;protected abstract class &lt;b&gt;MenuComponent.AccessibleAWTMenuComponent&lt;/b&gt;&lt;dt&gt;extends AccessibleContext&lt;/dt&gt;&lt;dt&gt;implements Serializable, AccessibleComponent, AccessibleSelection&lt;/dt&gt;&lt;/pre&gt;&lt;/dt&gt;&lt;/dl&gt;   &lt;p&gt; Inner class of &lt;code&gt;MenuComponent&lt;/code&gt; used to provide  default support for accessibility.  This class is not meant  to be used directly by application developers, but is instead  meant only to be subclassed by menu component developers.  &lt;/p&gt;&lt;p&gt;  The class used to obtain the accessible role for this object. &lt;/p&gt;&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-1977663991888401015?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/1977663991888401015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=1977663991888401015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/1977663991888401015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/1977663991888401015'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/04/menucomponentaccessibleawtmenucomponent.html' title='MenuComponent.AccessibleAWTMenuComponent'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-2519746123167043187</id><published>2008-03-22T20:15:00.002-07:00</published><updated>2008-03-22T20:16:23.343-07:00</updated><title type='text'>TextField.AccessibleAWTTextField</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class TextField.AccessibleAWTTextField&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;javax.accessibility.AccessibleContext&lt;br /&gt;     &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;java.awt.Component.AccessibleAWTComponent&lt;br /&gt;         &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;java.awt.TextComponent.AccessibleAWTTextComponent&lt;br /&gt;             &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.TextField.AccessibleAWTTextField&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;&lt;pre&gt;protected class &lt;b&gt;TextField.AccessibleAWTTextField&lt;/b&gt;&lt;dt&gt;extends TextComponent.AccessibleAWTTextComponent&lt;/dt&gt;&lt;/pre&gt;&lt;/dt&gt;&lt;/dl&gt;   &lt;p&gt; This class implements accessibility support for the   &lt;code&gt;TextField&lt;/code&gt; class.  It provides an implementation of the   Java Accessibility API appropriate to text field user-interface elements. &lt;/p&gt;&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-2519746123167043187?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/2519746123167043187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=2519746123167043187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/2519746123167043187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/2519746123167043187'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/03/textfieldaccessibleawttextfield.html' title='TextField.AccessibleAWTTextField'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6105268750002566624.post-7108068848502528407</id><published>2008-03-22T20:15:00.001-07:00</published><updated>2008-03-22T20:15:39.010-07:00</updated><title type='text'>TextArea.AccessibleAWTTextArea</title><content type='html'>&lt;h2&gt; &lt;span style="font-size:-1;"&gt; java.awt&lt;/span&gt;&lt;br /&gt;Class TextArea.AccessibleAWTTextArea&lt;/h2&gt; &lt;pre&gt;java.lang.Object&lt;br /&gt; &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;javax.accessibility.AccessibleContext&lt;br /&gt;     &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;java.awt.Component.AccessibleAWTComponent&lt;br /&gt;         &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;java.awt.TextComponent.AccessibleAWTTextComponent&lt;br /&gt;             &lt;img src="http://java.sun.com/j2se/1.5.0/docs/api/resources/inherit.gif" alt="extended by " /&gt;&lt;b&gt;java.awt.TextArea.AccessibleAWTTextArea&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;&lt;pre&gt;protected class &lt;b&gt;TextArea.AccessibleAWTTextArea&lt;/b&gt;&lt;dt&gt;extends TextComponent.AccessibleAWTTextComponent&lt;/dt&gt;&lt;/pre&gt;&lt;/dt&gt;&lt;/dl&gt;   &lt;p&gt; This class implements accessibility support for the   &lt;code&gt;TextArea&lt;/code&gt; class.  It provides an implementation of the   Java Accessibility API appropriate to text area user-interface elements. &lt;/p&gt;&lt;pre&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6105268750002566624-7108068848502528407?l=javabooks4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javabooks4u.blogspot.com/feeds/7108068848502528407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6105268750002566624&amp;postID=7108068848502528407' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/7108068848502528407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6105268750002566624/posts/default/7108068848502528407'/><link rel='alternate' type='text/html' href='http://javabooks4u.blogspot.com/2008/03/textareaaccessibleawttextarea.html' title='TextArea.AccessibleAWTTextArea'/><author><name>Nill</name><uri>http://www.blogger.com/profile/06390009631402051440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
