The JFrame Class
The most common Swing container for Java applications is
the JFrame
class. Like java.awt.Frame
, JFrame
provides a top-level window with a
title, border, and other platform-specific adornments (e.g., minimize,
maximize, and close buttons). Because it uses a JRootPane
as its only child, working with a JFrame
is slightly different than working with
an AWT Frame
. An empty JFrame
is shown in Figure 8-9.
Figure 8-9. Empty JFrame instances on Unix, Mac, and Windows platforms
The primary difference is that calls to add( )
must be replaced with calls to getContentPane( ).add( )
. In fact, the
addImpl( )
method is implemented so that a call made directly to
add( )
throws an Error
. (The error message tells you not to
call add( )
directly.)
Properties
JFrame
defines the properties
shown in Table 8-8. The
accessibleContext
property is as expected. ContentPane
, glassPane
, layeredPane
, and JMenuBar
are really properties of JRootPane
(described earlier in the
chapter). JFrame
provides direct
access to these panes, as required by the RootPaneContainer
interface.
Table 8-8. JFrame properties
Property | Data type | get | is | set | Default value |
---|---|---|---|---|---|
| | · | | ||
| | · | · | | |
| | · | · | From | |
| | · | · | | |
| | · | · | From |
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.