The containers in Swing are listed below:

Box A general-purpose container that arranges children using the BoxLayout layout manager.
JApplet A java.applet.Applet subclass that contains a JRootPane to add Swing features, such as support for menu bars to applets.
JDesktopPane A container for JInternalFrame components; simulates the operation of a desktop within a single window. Supports MDI (multiple document interface) application styles.
JDialog The container used to display dialog boxes in Swing.
JFrame The container used for top-level windows in Swing.
JInternalFrame A lightweight nested window container. Behaves like a JFrame and displays a titlebar and resize handles but is not an independent window and is constrained to appear within the bounds of its parent container. Often used with JDesktopPane.
JLayeredPane A container that allows its children to overlap and manages the stacking order of those children.
JPanel A generic container for grouping Swing components. Typically used with an appropriate LayoutManager.
JRootPane A complex container used internally by JApplet, JDialog, JFrame, JInternalFrame, and JWindow. Provides a number of important Swing capabilities to these top-level containers.
JScrollPane A container that allows a single child component to be scrolled horizontally or vertically. Supports scrolling and non-scrolling header regions at the top and left of the scrolling region.
JSplitPane A container that displays two children by splitting itself horizontally or vertically. Allows the user to adjust the amount of space allocated to each child.
JTabbedPane A container that displays one child at a time, allowing the user to select the currently displayed child by clicking on tabs like those found on manila file folders.
JViewport A fixed-size container that displays a portion of a single larger child. Typically used as part of a JScrollPane.
JWindow A top-level Swing window that does not display a titlebar, resize handles, or any other decorations.