Swing containers are containers for grouping other Swing components. The Swing container classes, JPanel, JSplitPane, JScrollPane, and JTabbedPane are designed following the Composite design pattern. They can contain varying numbers of objects from subclasses of the JComponent class. But the container classes are also subclasses of the JComponent class. This means that containers can contain other containers in addition to simpler components. It also means that JComponent methods can be applied to containers