Source: https://nicolas.thiery.name/Enseignement/CCI-LO/Notes/Seance9/2-ApplicationsInteractives-Swing-1Page.pdf