Las interfaces basadas en Swing utilizan dos tipos de clases: clases de interfaz gráfica y clases de soporte. Las clases de interfaz gráfica son de carácter visual, descienden de JComponent y se denominan clases J. Las clases de soporte proporcionan servicios y realizan funciones esenciales para las clases de interfaz, pero no generan ninguna salida gráfica.
Los componentes Swing proporcionan, sobre todo, elementos para manejar texto, botones, etiquetas, listas, paneles, recuadros, barras de desplazamiento, paneles de desplazamiento, menús, tablas y árboles.
En general, estos componentes pueden clasificarse en los grupos siguientes:
- Botones
- Componentes de texto
- Componentes de visualización de información no editable
- Menús
- Componentes de pantalla con formato
- Otros controles básicos
| Componente | Descripción |
|---|---|
| JButton | Botón. |
| JCheckBox | Botón de comprobación. |
| JCheckBoxMenuItem | Botón de comprobación para usar en menús |
| JColorChooser | Selector de colores. |
| JComboBox | Entrada de texto con lista de valores. |
| JComponent | Raíz de la jerarquia de componentes Swing. |
| JEditorPane | Editor de texto. Normalmente HTML o RTF. |
| JFileChooser | Selector de ficheros. |
| JLabel | Etiqueta. |
| JList | Lista. |
| JMenu | Menú dentro de un JMenuBar o dentro de otro menú. |
| JMenuBar | Barra de Menús. |
| JMenuItem | Elemento seleccionable en un menú. |
| JOptionPane | Ventanas de dialogo. |
| JPasswordField | Entrada de passwords. |
| JPopupMenu | Ventana con un menú. |
| JProgressBar | Barra de progreso. |
| JRadioButton | Botón excluyente. |
| JRadioButtonMenuItem | Botón excluyente para usar en menús |
| JScrollBar | Barra de desplazamiento. |
| JSeparator | Líneas de separación. |
| JSlider | Deslizador. |
| JTable | Tabla. |
| JTextArea | Edición de múltiples líneas de texto plano. |
| JTextComponent | Raíz de los editores de texto. |
| JTextField | Edición de una línea de texto plano. |
| JTextPane | Subclase de JEditorPane para hacer procesadores de texto. |
| JToggleButton | Padre de JCheckBox y JRadioButton. |
| JToolBar | Barra de herramientas o acciones. |
| JToolTip | Ventana informativa. |
| JTree | Árboles. |
Todos los componentes Swing poseen algunas propiedades en común porque todas ellas derivan de la clase JComponent.
Algunas propiedades, como las de tamaño preferido, sirven de información al administrador de diseño.
Aunque un componente puede proporcionar datos de utilidad al administrador de diseño, ésta puede hacer caso omiso de tal información y utilizar otra para representar el componente.

Además de las propiedades comunes cada componente tendrá las suyas propias, en la siguiente imagen vemos las propiedades específicas del componente JComboBox.
