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 |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access