The JComponent Class
JComponent
is an abstract class that almost all Swing components
extend; it provides much of the underlying functionality common
throughout the Swing component library. Just as the java.awt.Component
class serves as the guiding
framework for most of the AWT components, the javax.swing.JComponent
class serves an
identical role for the Swing components. We should note that the
JComponent
class extends java.awt.Container
(which in turn extends
java.awt.Component
), so it is
accurate to say that Swing components carry with them a great deal of
AWT functionality as well.
Because JComponent
extends
Container
, many Swing components can
serve as containers for other AWT and Swing components. These components
may be added using the traditional add(
)
method of Container
. In
addition, they can be positioned with any Java layout manager while
inside the container. The terminology remains the same as well:
components that are added to a container are said to be its
children; the container is the
parent of those components. Following the analogy, any component
that is higher in the tree is said to be its
ancestor , while any component that is lower is said to be its
descendant.
Recall that Swing components are considered “lightweight.”
In other words, they do not rely on corresponding peer objects within
the operating system to render themselves. As we mentioned in Chapter 1, lightweight components draw
themselves using the standard features of the abstract Graphics
Get Java Swing, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.