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.
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.
- 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 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.
0 Comments