El paquete Swing es parte de "Java Foundation Classes" que provee facilidades a los programadores a la hora de construir una interfaz gráfica o GUI. Swing abarca componentes como tablas, marcos, etiquetas, botones... Se les llama componentes Swing porque pertenecen al paquete javax.swing. Antes de la JDK 1.1 las interfaces gráficas se realizaban a través de AWT o Abstract Window Toolkit, de donde Swing ha heredado todo el manejo de eventos.
Una aplicación Swing se consigue mezclando componentes que siguen estas reglas:
- Debe existir, al menos, un contenedor de alto nivel (Top-Level Container), que provee el soporte a los componentes Swing para que estas se pinten y puedan manejar eventos.
- Habrá más componentes colgando de este contenedor de alto nivel, bien sean contenedores o componentes simples.