Además de proveer un conjunto más rico de widgets UI, Swing dibuja sus propios widgets (usando Java 2D para llamar a las subrutinas de bajo nivel en el subsistema de gráficos local) en lugar de confiar en el módulo de interfaz de usuario de alto nivel del sistema operativo.