Explanation of AWT Components and Window Fundamentals in Java

AWT Abstract Window Toolkit  


Window Fundamentals


  • The AWT defines windows according to a class hierarchy that adds functionality and specificity with each level. 
  • The two most common windows are those derived from Panel, which is used by applets, and those derived from Frame, which creates a standard application window.


Component    
  • At the top of the AWT hierarchy is the Component class.
  • Component is an abstract class that encapsulates all of the attributes of a visual component. 
  • All user interface elements that are displayed on the screen and that interact with the user are subclasses of Component. 
  • It defines over a hundred public methods that are responsible for managing events, such as mouse and keyboard input, positioning and sizing the window, and repainting. 
  • A Component object is responsible for remembering the current foreground and background colors and the currently selected text font.
Window
 The Window class creates a top-level window. 
A top-level window is not contained within any other object; it sits directly on the desktop. 
Generally, you won’t create Window objects directly. Instead, you will use a subclass of Window called Frame

Container 
  • The Container class is a subclass of Component. 
  • It has additional methods that allow other Component objects to be nested within it. 
  • Other Container objects can be stored inside of a Container (since they are themselves instances of Component). 
  • This makes for a multileveled containment system.
  • A container is responsible for laying out (that is, positioning) any components that it contains.
Panel 
  • The Panel class is a concrete subclass of Container. 
  • It doesn’t add any new methods; it simply implements Container. 
  • A Panel may be thought of as a recursively nestable, concrete screen component. 
  • Panel is the superclass for Applet. 
  • When screen output is directed to an applet, it is drawn on the surface of a Panel object.
  •  In essence, a Panel is a window that does not contain a title bar, menu bar, or border. 
  • This is why you don’t see these items when an applet is run inside a browser. 
  • When you run an applet using an applet viewer, the applet viewer provides the title and border.
  • Other components can be added to a Panel object by its add( ) method (inherited from Container). 
  • Once these components have been added, you can position and resize them manually using the setLocation( ), setSize( ), setPreferredSize( ), or setBounds( ) methods defined by Component.
Frame  

  • Frame encapsulates what is commonly thought of as a “window.” 
  • It is a subclass of Window and has a title bar, menu bar, borders, and resizing corners. 
  • If you create a Frame object from within an applet, it will contain a warning message, such as “Java Applet Window,” to the user that an applet window has been created. 
  • This message warns users that the window they see was started by an applet and not by software running on their computer. 
  • When a Frame window is created by a stand-alone application rather than an applet, a normal window is created.
Canvas  
  • Although it is not part of the hierarchy for applet or frame windows, there is one other type of window that you will find valuable: Canvas. 
  • Canvas encapsulates a blank window upon which you can draw.



Post a Comment

0 Comments